comytzaa Posted July 19, 2013 Report Posted July 19, 2013 Salut,As dori sa aflu cum se rezolva urmatoarea problema legata de 'variable scope' si nu reusesc sa o rezolv.Am un tabel numit inventory:id id_item username1 3 cristi2 1 motoc2 2 motocSa presupunem ca sunt logat ca si motoc.In acest tabel am coloana id unde fiecare id reprezinta id userului iar id_item unde fiecare id_item reprezinta id-ul unei arme.Asa cum am presupus sunt logat ca si motoc (id-ul meu fiind 2) si detin 2 arme. Una cu id_item 1 si cealalta cu 2. Pana aici totul ok.In continuare am facut pentru fiecare arma pe care o detine userul (2 in cazul meu) sa apara un buton cu valoarea "Add". Ce vreau eu sa fac si nu reusesc este ca atunci cand apas primul buton spre exemplu sa apara 1, adica id_item corespunzator primei arme, iar daca apas cel de-al doilea sa apara 2 ,id_item corespunzator celei de-a doua arme.Problema este ca daca apas primul buton imi apare 2 iar daca apas buton-ul secund tot 2 apare asa cum ar fi si normal pentru ca se termina while-ul si valoarea ramane 2.Daca mut acolada de sfarsit de la while sa cuprinda si if-ul secund atunci cand apas oricare din cele 2 butoane imi afiseaza la fel 1 si 2 ambele.As vrea pe rand, cand apas primul buton sa afiseze 1 cand apas al doilea sa apara 2.Ar trebui sa declar o variabila $ss in afara primul if iar aceasta sa fie egala cu $row1['id_item'] cand while incepe si cumva sa creasca $row1['id_item'] la urmatorul rand si tot asa? Chiar nu stiu ce sa fac. Am incercat cat am putut.De ce nu vreau sa fie ca value? Functioneaza , stiu. Dar voi face un UPDATE pe care daca il pun acolo se face cand e apasat refresh.if (isset($_SESSION['id'])) { $sth1 = $dbh->prepare("SELECT * FROM inventory WHERE id = :id"); $sth1->bindParam(":id", $_SESSION['id']); $sth1->execute(); while ($row1 = $sth1->fetch(PDO::FETCH_ASSOC)) { //cod care nu are legatura cu problema $ss = $row1['id_item']; ?> <form id='<?php echo $row1["id_item"]; ?>' method="post" action="?show"> <input type="hidden" name="item_id" value="<?php // print $row1["id_item"]; functioneaza cum trebuie dar nu vreau aici ?>" /> <input type="submit" name="submit" value="Add" /> </form> <?php} if ($_SERVER['REQUEST_METHOD'] == 'POST') { echo $_POST['item_id']; print $row1["id_item"]; //Aici vreau sa fie }}Multumesc mult.Astept mesaje utile. Quote
yoyois Posted July 19, 2013 Report Posted July 19, 2013 De ce nu folosesti mai multe tabele aflate in relatia many-to-many. Mai multi jucatori au mai multe arme. S-ar simplifica mult treaba. Google: sql relations + SQL Tutorials - Lesson 11: Data Relationships+ SQL for Beginners: Part 3 – Database Relationships | Nettuts+Si mai cauta pe google.PS: doar o idee Quote
comytzaa Posted July 19, 2013 Author Report Posted July 19, 2013 Multumesc mult pentru raspuns. O sa citesc si o sa postez tot aici daca am rezolvat sau daca mai am probleme Quote