Hirdetés

Új hozzászólás Aktív témák

  • cucka

    addikt

    válasz emitter #523 üzenetére

    Join:
    A join-oknak érdemes lenne utánaolvasnod, totál téves, amit írtál.
    A korábbi hozzászólásomban ott volt egy sql lekérdezés. Az annyit csinált, hogy a szállás táblához hozzácsapta a megye tábla név mezőjét is. Tehát nem kell külön lekérdezned az összes megye nevét, vagy minden egyes szálláshelyre lekérni a nevet, mert annak az egy lekérdezésnek az eredményében ott lesz.
    Próbáld megérteni azt a lekérdezést, cseréld ki a mezőneveket a megfelelőre és nézd meg, mi lesz az eredménye.

    Viszont az echo"..."-ban lévő tömbindexelésnél meg csak úgy működik, ha elhagyom az egyszeres idézőjeleket, így:
    Megint csak nem jó, méghozzá azért nem, mert egybefolyik nálad a tömb indexelés szintaktikája és a stringek megadásának a szintaktikája.

    1. PHP-ban string-eket kétféleképpen lehet megadni: sima és dupla idézőjelekkel. A dupla idézőjeles megadás annyiban tér el a simától, hogy az abban található egyszerű változókat kiértékeli.
    2. Dupla idézőjellel megadott string-ben a "komplex" változókat (pl. tömb egyik eleme, ahogy a példádban van) úgy tudod kiértékeltetni, hogy { } közé rakod.
    3. Ha a tömb indexe string, akkor indexbe mindig stringként kell írni.
    4. Ha egy string-be egy függvény visszatérési értékét akarod berakni, vagy egyszerűen csak sima idézőjelesen akarod megadni, akkor használj összefűzést (ez a . operátor)
    5. HTML-ben az egyes elemek tulajdonságai mindig dupla idézőjelekben vannak. Tehát a példádban a <span style="float:left"> lenne a helyes.

    Példák a string-ed helyes megadására:

    Sima behelyettesítéssel. Figyeld meg, hogy a dupla idézőjeles string-ben a dupla idézőjeleket le kell zárni a \ karakterrel. Ez sima idézőjeleknél is így van.
    echo "<span style=\"float: left;\">{$row['nev']}</span>";

    String összefűzéssel:
    echo "<span style=\"float: left;\">".$row["nev"]."</span>";

    Sima idézőjelekkel:
    echo '<span style="float: left;">'.$row['nev'].'</span>';

    Ja, és a fentiek ellenére a te kódod is működik, csak egyrészt rossz, mert kihasználja a php gyenge ellenőrzését, másrészt ilyen stílusú kódok legtöbbször elég sok notice-t vagy warning-ot eredményeznek. Ezek ellenére a php kód le fog futni, de a jó kód az, ami nem generál ilyeneket.

Új hozzászólás Aktív témák