Jump to content
comytzaa

Variable scope

Recommended Posts

Posted

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 username

1 3 cristi

2 1 motoc

2 2 motoc

Sa 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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...