Autor | Zpráva | ||
---|---|---|---|
aladin Profil * |
#1 · Zasláno: 17. 3. 2013, 16:29:49
Zdravím,
mám malej problém.. mám checkboxy..nic nového.. pak když si je imploduju, implode(",", $_POST['checkboxSchvalit']); tohle funguje,ale mám problém s vybráním všech článku... tzn: v indexu mám checkboxy článku,pokud si vyberu třeba 2-3 články tak to má vypsat jejich ID,to ještě funguje,v pořádku je vypíše.. pak podle těch ID si mám načíst jejich text,a to mě nejde. mám na to funkci public static function dotazVsechny($dotaz, $parametry = Array()) { $navrat = self::$spojeni->prepare($dotaz); $navrat->execute($parametry); return $navrat->fetchAll(); } $checkboxs = implode(",", $_POST['checkboxSchvalit']); $Query = DB::dotazVsechny('SELECT * FROM `clanek` WHERE `id` = ?', array($checkboxs)); return $dotazMail['text']; když to dám do array tak to píše jen array nevíte někdo co s tím? |
||
aladin Profil * |
#2 · Zasláno: 17. 3. 2013, 18:15:27
Ještě mám jeden dotaz...abych nezakládal nový téma tak to napíšu sem..
jedná se o INNER JOIN mám tabulku která má tyto sloupce id id_predmetu id_uzivatele zaco uzivatel kolik_predmet kolik_cena jedná se o takovou jakoby hru. ID - id sloupce id_predmetu - id předmětu který se prodává id_uživatele - Uživatele ID zaco - Id předmětu za který se to vymění uživatel - jméno uživatele kolik_predmet - kolik předmětu se prodává kolik_cena - za kolik to chce prodat tohle byla spojovací tabulka ted tabulka která obsahuje jen id,img a název předmětu to je tabulka která obsahuje ty předměty můj cíl: udělat tabulku která to spojí to znamená: udělám si nový předmět na trh tak se založí nové id,moje id uživ.,id předmětu apod... a má se to spojit s tamtou tabulkou abych viděl název toho předmětu a obrázek problém je,že mě dělá problém to spojení jelikož já to spojím,ale vidím jen to ID_předmětu a obrázek předmětu, potom to za co to prodá vidím stejný předmět jako co vystavuju zdroják: return DB::dotazVsechny('SELECT * FROM `trh` INNER JOIN trh_obr ON trh.id_predmetu=trh_obr.id AND trh.zaco=trh_obr.id '); a tady php kod kterej to má vypsat $trh = indexModely::trh(); <?php foreach ($trh as $sets) : ?> <form class="form-horizontal" method="post"> <tr> <td><?= $sets['id'] ?></td> <td><?= $sets['kolik_predmet'] ?>x <img src="<?= $sets['img'] ?>" title="<?= $sets['nazev'] ?>"> - <?= $sets['nazev'] ?></td> <td><?= $sets['kolik_cena'] ?>x <img src="<?= $sets['zaco'] ?>" title="<?= $sets['nazev'] ?>"> - <?= $sets['nazev'] ?></td> <td><?= $sets['uzivatel'] ?></td> <td><button type="submit" name="Buy" class="btn btn-primary">Koupit</button></td> </tr> </form> <?php endforeach ?> |
||
aladin Profil * |
#3 · Zasláno: 18. 3. 2013, 19:04:11
Nevíte někdo?to první nemusí bejt..stačí to druhý..to je trochu důležitější než to první..
aby to ukazovalo oboje.. a ne jen jeden jakoby |
||
Tori Profil |
#4 · Zasláno: 18. 3. 2013, 21:19:21
Když to zadáte takhle:
'SELECT * FROM `clanek` WHERE `id` = ?' , tak PDO očekává jednu jedinou hodnotu. (Když teda pominu, že správná MySQL syntax je: WHERE id IN (1,2,3) V manuálu je příklad přímo na WHERE IN: http://www.php.net/manual/en/pdostatement.execute.php#example-1017 , ve výsledku vám má vyjít: WHERE IN (?, ?, ?) a metodě execute pak předáte zaškrtnuté checkboxy jako pole.
To druhé jste mohl hodit i do samostatného vlákna, keďže to spolu nesouvisí, ale neva: Tak, jak máte napsanou podmínku pro spojení tabulek, tak by vám ten dotaz našel jen předměty, které chcete vyměnit za to samé, to nejspíš žádné nejsou. INNER JOIN trh_obr ON trh.id_predmetu = trh_obr.id AND trh.zaco = trh_obr.id JOIN tabulka alias ), jednou pro zjištění údajů o nabízeném předmětu, podruhé kvůli požadovanému předmětu. A v SELECT dejte alias sloupcům z druhé tabulky obrázků.
|
||
aladin Profil * |
#5 · Zasláno: 18. 3. 2013, 22:41:20
Tori:
nojo,ten alias mě nenapadl..já tam dal jakože chci všechno vyčíst..v tom bude ta chyba.. :) díky jinač u toho prvního taky díky moc jsi mě pomohl :) |
||
Časová prodleva: 11 let
|
0