Autor | Zpráva | ||
---|---|---|---|
WellBloud Profil |
#1 · Zasláno: 2. 2. 2012, 10:32:19
Zdravím,
už mi z toho hrabe. Potřebuju změnit vícero údajů v tabulce, nové hodnoty to úspěšně předá, ale uloží se vždy jen poslední. Mohli byste se prosím mrknout, co dělám blbě? Vím že tam je nějaká malá, ale podstatná chyba, ale nemůžu ju najít... Byl bych moc vděčný za pomoc :) Zde vypisuji tabulku, kde jsou inputy pro zadání nových hodnot: <h3>Vybrání pořadí konzultantů</h3> <form action="" method="post"> <table> <?php for ($i=0;$i<$pocetkonzultantu;$i++){ echo "<tr> <td>".$jmenokonzultanta[$i]."</td> <input type='hidden' name='jmeno' value='$jmenokonzultanta[$i]' /> <td>".$soucasneporadikonzultanta[$i]."</td> <input type='hidden' name='pozice' value='$soucasneporadikonzultanta[$i]' /> <td><input type='text' name='noveporadi' size='2' maxlength='3' value='$soucasneporadikonzultanta[$i]' /></td> </tr>"; } ?> </table> <input type='submit' name='tlacitko' value='Uložit změny'> </form> <?php $db4=JFactory::getDBO(); for($j=0;$j<$pocetkonzultantu;$j++){ $jmeno=$_POST['jmeno']; $starapozice=$_POST['pozice']; $novapozice=$_POST['noveporadi']; if($starapozice==$novapozice){} else{ echo $jmeno." z ".$starapozice." --> ".$novapozice."<br />"; $query4=("UPDATE #__categories SET konzultanti='$novapozice' WHERE extension='com_jevents' AND title='$jmeno'"); $db4->setQuery($query4); $db4->query(); } } ?> |
||
Sir Tom Profil |
#2 · Zasláno: 2. 2. 2012, 10:39:13
WellBloud:
Také zdravím, předpokládám, že echo $jmeno." z ".$starapozice." --> ".$novapozice."<br />"; vypíše vše správně. Problém bych hledal ve WHERE opravdu tam má být AND? Opravdu tam má být title='$jmeno'.
BTW - proč používáš podmínku ($staraPozice==$novaPozice)? Není lepší ($staraPozice!=$novaPozice)? |
||
DJ Miky Profil |
#3 · Zasláno: 2. 2. 2012, 10:42:52
Všechna pole mají stejný název (
name="jmeno" apod.), proto se vezme pouze jedna hodnota. Změň všechny name tak, aby to bylo např. name="jmeno[$i]" a poté v PHP $jmeno=$_POST['jmeno'][$i]; .
|
||
WellBloud Profil |
#4 · Zasláno: 2. 2. 2012, 10:44:36 · Upravil/a: WellBloud
Sir Tom:
„echo $jmeno." z ".$starapozice." --> ".$novapozice."<br />"; vypíše vše správně“ právě, že to vypíše 15x změnu té poslední hodnoty (protože $pocetkonzultantu=15) „Problém bych hledal ve WHERE opravdu tam má být AND? Opravdu tam má být title='$jmeno'.“ AND tam být musí, aby se nová hodnota napsala na správný řádek (ke správnému jménu) tu podmínku změním, dík DJ Miky: no jasně! to je ono :) díky moc, už to funguje krásně |
||
Časová prodleva: 12 let
|
0