Mam problem - stworzyłem sobie niewielki skrypt, który ma być takim.. magazynem z możliwością pobrania z niego sprzętu do koszyka - problem pojawił mi się, kiedy chciałbym, żeby kliknięcie w dodanie do koszyka zwiększało ilość, a nie tworzyło nowy wpis rekord w bazie - poradziłem sobie jednak i z tym, przy czym działa to tylko przy jednym z wpisów.
Jeżeli mam na przykład trzy rekordy w bazie, to tylko przy pierwszym wyborze skrypt działa, reszta go obchodzi. Oto kod :
/* Pierwsza kategoria */
if($_GET['kat']=='narzedzia'){
$wynik = mysql_query("SELECT * FROM narzedzia")
or die("Bł?d w zapytaniu!");
while($rek = mysql_fetch_array($wynik)) {
?>
<table style="margin-left: 10px;"><form method="POST" action=''>
<tr><td><p align="center">
<?php echo $rek['id']; ?></p></td>
<td style="width: 150px; ">
<?php echo '<input type="text" name="wybor" value="'.$rek['nazwa'].'" readonly="readonly">'; ?></td>
<td align="left"><input type="submit" value="DODAJ"></form>
</td>
</tr></table>
<?php
}
// ZLICZANIE ILOŚCI DANEGO NARZĘDZIA ( ILOŚĆ ) //
$post = $_POST['wybor'];
if($post == null) {}
else { $porow = mysql_query("SELECT * FROM wybor") //Pobiera tabelę wybór// or
die("Błąd w zapytaniu!"); if ( $post == $wyn['nazwa'] ){ //Jeżeli wybrane narzędzie znajduje się już w bazie//
$wzr = ++$wyn['ilosc'];
$wzrost = mysql_query("UPDATE wybor SET ilosc='$wzr' WHERE nazwa='$post'") //zwiększ ilość o jeden// or
die ("Coś poszło nie tak"); header('Location: index.php'); }
else { $query = @mysql_query("INSERT INTO wybor SET nazwa='$post'"); // Jeżeli narzędzie nie istnieje jeszcze w bazie, dodaj je// if($query) echo "<font size='1'>Rekord został dodany poprawnie</font>"; else echo "Bł?d nie udało się dodać nowego rekordu"; $post = null;
}
}
}
//KONIEC ZLICZANIA//
// Edit:
Teraz do głowy wpadło mi zastosowanie pętli - dobrze kombinuję?
// Edit 2:
Zastosowałem pętlę while, ale teraz skrypt w ogóle nie reaguje..
Ten post edytował Hikamare 28.08.2014, 13:53:06