Autor Zpráva
vomackav
Profil *
Ahoj,

Mám v MySQL tabulce x řádků. Každá obsahuje informaci "email" - potřeboval bych udělat dotaz, při kterém se mi do proměnné uloží všechny řádky, kde se objevuje stejný email. Předpokládám, že to udělám nějak takto:

$cely_radek=dibi:(select * from tabulka where email = "$zadany_email")->fetch(); - toto mi funguje

Jak ale vypíši všechny položky které potřebuji?
Při výpisu pomocí echo $cely_radek["data"] se mi vypíší data pouze z jedné řádky v tabulce, i když jsou ve více řádcích o stejném emailu.

Snad je to srozumitelné, díky za radu,
V.
Taps
Profil
vomackav:
zkus
<?
$cely_radek=dibi:("select * from [tabulka] where [email] =%s",$zadany_email)->fetchAll();
?>
Možná ti pomůže http://it-slovnik.cz/navody/jak-vyhledat-duplicty-v-mysql
Jan Tvrdík
Profil
Doplním, že bez syntaktické chyby by to bylo takto:

$vsechny_radky = dibi::query("select * from [tabulka] where [email] = %s", $zadany_email)->fetchAll();

Lze to i trochu zkrátit:
$vsechny_radky = dibi::fetchAll("select * from [tabulka] where [email] = %s", $zadany_email);
vomackav
Profil *
Nejsem nyní u mojeho PC, ale když pak budu chtít vypsat buňku "data" ve všech řádcích kde je tento mail, tak to udělám jak?
echo $vsechny_radky["data"] - toto mi vypíše nějaký řetězec položek "data" ?
Díky V.
Taps
Profil
vomackav:
<?
$vsechny_radky;
?>
projdeš přes
<? 
foreach();
?>
emitor
Profil
Prípadne, ak to potrebuješ iba ako nejaký "debug výpis" môžeš rovno vypísať premennú $vsechny_radky pomocou var_dump, alebo json_encode:
var_dump($vsechny_radky);
json_encode($vsechny_radky);
Taps
Profil
emitor:
lze také použít
<?
print_r();
?>
vomackav
Profil *
Moc tomu nerozumím.
Pokud budu mít v řádcích proměnou "vs" a budu ji chtít vypsat ze dvou řádků, zápis udělám?

<?php
$uzivatel = dibi::query('SELECT * FROM uzivatel where id='.$_SESSION["id"])->fetch();
$email = $uzivatel["email"];
$uzivatel_vse = dibi::query('SELECT * FROM rezervace_karlova where email="'.$email.'"')->fetchAll();

foreach ???
?>
 
Jan Tvrdík
Profil
vomackav:
Nauč se prosím tě psát tam ty modifikátory.

<?php
$uzivatel = dibi::query('SELECT * FROM uzivatel WHERE id = %i', $_SESSION["id"])->fetch();
$email = $uzivatel["email"];
$uzivatel_vse = dibi::query('SELECT * FROM rezervace_karlova WHERE email = %s', $email)->fetchAll();
vomackav
Profil *
OK, modifikátory jsem teď nebral v potaz, kód upravím a dopíši je. To však neřeší mou otázku jak z proměnné $uzivatel_vse vydolovat například dvě proměnné $vs ze dvou řádků, kde se mi shoduje $email.

Díky

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: