Diskuze: Multiselect
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 16 zpráv z 16.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zdar,
mohl bys prosim hodit
echo "<pre>";
var_dump($result->fetchArray());
nejsem si totiž jistý, jak to tam hází ty stejnojmenné sloupce
Vyhadzuje mi to takúto chybu:
Call to a member function fetch_array() on boolean in
Ak dám len $row[0] a $row[1], tak to funguje, ale akonáhle tam dám 3 výsledky, tak mi to zlýha.
Pak proměnná $result obsahuje FALSE, což by mělo házet v případě, že máš chybu v SQL dotazu
ale keď ho skúsim cez MySQL tak mi to nehlási žiadnu chybu.
Takto je to teraz:
$mysqli = new mysqli("localhost", "sledovac", "kukuc", "lakomika");
$vyber1 = "SELECT prog_datum, nazov, popis "
. "FROM program as p"
. "JOIN (SELECT nazov, popis, id_show FROM shows) as s"
. "on s.id_show = p.id_show ";
$result = $mysqli->query($vyber1);
while( $row = $result->fetch_array(MYSQLI_NUM)){
$i=1;
if($i>1){echo "<tr>".PHP_EOL;}
printf( "<td>".$row[0]."</td>"."<td>".$row[1]." ".$row[2]."</td>");
if($i>1){echo "</tr>".PHP_EOL;}
$i++;
Tu premennú som chcel rozdeliť na dve, ale nakoniec som sa rozhodol, že to
nemá asi valný zmysel 
Teď jsem se trochu zamotal 
Když teda uděláš
$result = $mysqli->query($vyber1);
a za to hodíš
echo "<pre>";
var_dump($result->fetch_array(MYSQLI_NUM));
exit;
co ti to vyplivne?
Případně místo toho MYSQLI_NUM nech data uložit do asociativního pole.
Fatal error: Call to a member function fetch_array() on boolean in ... on line 54
toto je na riadku 54
var_dump($result->fetch_array());
Ak tam dám len 2 výsledky, tak hej, ale 3 už neberie. Nemôže byť aj to
"oná komplikácia"? 
Přijde mi to nějaký zvláštní... mysqli::query() vrací FALSE při
neúspěchu. Při SELECT statements to vrací objekt třídy mysqli_result.
Když funguje
while ($row = $result->fetch_array())
pak musí fungovat i
var_dump($result->fetch_array());
zkus ještě po tom query dotazu hodit
echo $mysqli->error;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT nazov, popis, id_show FROM shows) as son s.id_show = p.id_show' at line 1
Fatal error: Call to a member function fetch_array() on boolean in
C:\xampp\htdocs\LaKomika\subs\program.php on line 52
>
Toto už vyzerá lepšie
"výsledky" sú prog_datum, nazov, popis
neviem ako správne nazvať 
Mám to
ďakujem moc za pomoc 
celý zdroják má vyzerať takto :
$vyber1 = "SELECT p.prog_datum, s.nazov, s.popis, s.id_show
FROM program as p
JOIN (SELECT nazov, popis, id_show FROM shows) as s
on s.id_show = p.id_show ";
$result = $mysqli->query($vyber1);
echo $mysqli->error;
$i=1;
while( $row = $result->fetch_array(MYSQLI_NUM)){
if($i>1){echo "<tr>".PHP_EOL;}
echo"<td>".$row[0]."</td>".PHP_EOL;
echo "<td>".$row[1]."</td>".PHP_EOL;
echo "<td>".$row[2]."</td>".PHP_EOL;
if($i>1){echo "</tr>".PHP_EOL;}
$i++;
}
taká drobnosť, ten select bralo ako jeden riadok keď som odstránil spojenia
"."
"SELECT prog_datum, nazov, popis "
. "FROM program as p"
. "JOIN (SELECT nazov, popis, id_show FROM shows) as s"
. "on s.id_show = p.id_show ";
tak to šlo. Dík aj za
echo $mysqli->error;
Konečne som našiel to, čo robilo "čurbes" 
A když takhle stejný dotaz hodíš rovnou do DB třeba přes adminer, tak
to jde?
Neznám nazpaměť přesné způsoby použití JOIN, ale to "as s" bych zkusil
hodit ještě do tý závorky.
Případně to napsat nějak takto
SELECT p.prog_datum, p.nazov AS nazevProgramu, p.popis AS popisProgramu, s.nazov AS nazevShows, s.popis AS popisShow, s.id_show
FROM program AS p
LEFT JOIN shows AS s ON p.id_show = s.id_show
ale radši ať ti to zodpoví někdo zkušenější
Zobrazeno 16 zpráv z 16.