Diskuze: Kód funguje len 1x
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Marečku, tam hore nad tým poľom kde si písal ten text je taká značka </>, pomocou ktorej sa vkladajú kódy do komentárov, aby sa dali lepšie čítať.
Jaj prepáčte Zabudol sam nato úplne pretože som su späť po roku a pol Upraviť to už asi nejde čo ?
<?php
mysql_connect("xxxx","xxxxx","xxxxx") or die("Unable to connect");
mysql_select_db("xxxxxx") or die("Unable to choose database");
$select = mysql_query("SELECT * FROM xxxx WHERE id='".$_SESSION["id"]."' ;");
while( $row = mysql_fetch_assoc($select))
echo "".$row["name"]." ";
echo "".$row["name"]." ";
?>
by som napísal takto:
<?php
mysql_connect("xxxx","xxxxx","xxxxx") or die("Unable to connect");
mysql_select_db("xxxxxx") or die("Unable to choose database");
$select = mysql_query("SELECT * FROM xxxx WHERE id='" . $_SESSION["id"] . "'");
while( $row = mysql_fetch_assoc($select)) { // dal som to do kučeravých zátvoriek
echo $row["name"];
echo $row["name"];
}
?>
Keď si to nemal v tých kučeravých zátvorkách, tak sa while cyklus vzťahoval iba na to prvé echo. Teda aspoň to si myslím. Skús to takto v tých zátvorkách.
Btw. nemal by si používať mysql_* funkcie, už sú zastarané. Namiesto nich sa používa mysqli_* (všimni si to i) alebo PDO (v tutoriáloch sa používa).
Taktiež nemusíš zbytočne pridávať prázdne reťazce k tomu čo vypisuješ
echo "".$row["name"]." "; // ee, načo?
echo $row["name"]; // stačí nie?
Super už to vypíše aj druhýkrát. Problém ale nastane znovu ak sa budem snažiť vypísať to name mimo kučeravých zátvoriek napríklad niekde úplne inde na tej istej stránke.... čo potom ? ..
Poprípade existuje jednoduchší spôsob ako vypísať veci zo sessionu ?
Skúsil som použiť toto :
echo "".$_SESSION["name"]." ";
No tam je problém že ak zmením napr to name v databáze tak už ho na stránke neaktualizuje. Pomôže len odhlásenie a znovu prihlásenie (pri prihlásení mám identifikovanú premenu čo znamená to name a kde ho má kód hľadať takto tu
No ja by som do session ukladal iba identifikátor prihláseného užívateľa: id. Ak chceš potom vypísať meno užívateľa, tak je dobré si ho z databázy za každým vybrať (samozrejme pri jednom zobrazení stránky len raz ).
Keď to chceš takto v session, tak si to meno v session pri tej zmene mena aktualizuj.
Tak to nerob cez cyklus while Ten až skončí, zanikne aj premenná $row.
$row = mysqli_fetch_row($result);
Jo a všimni si tlačíko "Odpovědět", inak mi neprídu upozornenia že si mi odpovedal
Teraz klape už všetko A pritom stačilo ,,zmazať jedno slovíčko´´ a to while Ďakujem veľmi pekne som rád že táto komunita mi tu vždy pomôže ak je nejaký problém Ešte raz ďakujem Keby niečo ozvem sa
Nz, skús sa pozrieť na http://www.itnetwork.cz/php/databaze, je tam pekne vysvetlená práca s DB pomocou PDO
Zobrazeno 9 zpráv z 9.