Autor Zpráva
aladin
Profil *
Zdravím,
mám malej problém..
mám checkboxy..nic nového..
pak když si je imploduju,
implode(",", $_POST['checkboxSchvalit']);
tak se vypíšou ID článků.
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));
a pokud dám
return $dotazMail['text'];
tak to nic nevypíše...
když to dám do array tak to píše jen array
nevíte někdo co s tím?
aladin
Profil *
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
                             ');
tohle je query k mysql

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 ?>
to vyznačený se musí nějako předělat,a řekl bych i ten query,jelikož se mě to nějak zamotalo,a vidím jakoby oboje stejný,což jak je na zdrojáku vidět...
aladin
Profil *
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
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
- prostě tu tabulku připojíte dvakrát pod různým aliasem (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 *
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 :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0