't is op basis van een deel van een code die ik een paar dagen geleden in dit forum zag, hij doet alleen een ding verkeerd: de variable field 2 (ik noem hem ook mar even "feat" want ook bij mij wordt ie niet voor iedere case ingevuld) levert weliswaar de tekst featuring op wanneer dat zo hoort te zijn, maar daarnaast slechts de eerste letter van het woord / de woorden die er zouden moeten staan. Help!

<?
mysql_pconnect("localhost","","dbbb");
mysql_select_db("fs");
$result = mysql_query("select * from `vids` ORDER BY 'year'");
?>

<?
while($row=mysql_fetch_array($result)) {
$field1 = $row["video"];
$field2 = $row["feat"];
$field3 = $row["year"];
$field4 = $row["album"];

echo "<b>$field1 </b>";

if
(strlen($field2) ==0)
{
echo " ";
}

else
{
echo "<b><i>featuring ".$field2["feat"]."</i></b>";
}

echo "<br><b>Year:</b> $field3 <br><b>Album:</b> $field4<br><br>";
}
?>
Consequent zijn is het belangrijkst en dan zou ik kiezen voor enkele quotes.
Oh en om antwoord te geven op je vraag "wat doe ik verkeerd"... je titel om mee te beginnen.
Jan Koehoorn schreef op 20.07.2006 21:55
[quote=Klaasjan schreef op 20.07.2006 21:54]Helder :)
Waarom btw niet $row['feat'] ipv ["feat"]
Zo gebruik ik het altijd

Mag allebei. Qua snelheid maken enkele of dubbele quotes geen verschil.[/quote]

Ze maken wel een klein beetje verschil, kijk hier maar eens naar dit leuke testje...

Single quotes is net iets sneller!

http://www.scriptorama.nl/algemeen/quotes-battle
Van die site:
Als jij 100 simpele string operaties doet, wat wel een aardige schatting is van het aantal string operaties in 1 simpel script, scheelt het in ons geval nog geen 1-duizendste van een seconde.

Dat is dus te verwaarlozen.
Nog een kleine opmerking ik denk dat je beter mysql_connect kan gebruiken ipv mysql_pconnect.

Bij mysql_pconnect moet je expleciet de verbinding afsluiten, ook als de pagina geladen is blijft de verbinding met de MySQL server lopen. Bij mysql_connect stopt dit als de pagina is geladen.
Als je je verbindingen niet sluit kunnen er te veel connecties komen met de MySQL server en kan deze vastlopen of geen nieuwe verbindingen accepteren.
Frank schreef op 20.07.2006 21:45
[...]Zie hoofdstuk 12.5 van de MySQL-handleiding.


Weet jij zo uit je hoofd in welk hoofdstuk wat staat in de MySQL documentatie?? :p

Ik doe de ene keer wel met spaties tusse functies en haakjes en de andere keer niet:
<?php
if($henk == $annie) {
echo "henk is dezelfde als annie";
} else {
echo "ze zijn allebei verschillend";
}
?>

Maar while loops doe ik weer altijd zo:
<?php
while ($row = mysql_fetch_assoc($res)) {
echo $row['henk'];
}
?>

Vraag me niet hoe ik mezelf dit heb aangeleerd...
Maar is het erg bij het PHP programmeren? kan ik daardoor opeens errors krijgen?(nooit gehad)??
(ik vind het ook veel duidelijker met spaties)
Tenzij ze tussen quotes geplaatst zijn, worden spaties op de meeste plaatsen in PHP code niet gelezen. Neemt natuurlijk niet weg dat je achter bijvoorbeeld 'echo' wel altijd een spatie moet plaatsen als je een variabele wilt tonen.


<?php
if($a == $b)
{
    echo "waar";
}
else
{
    echo "niet waar";
}

// geeft hetzelfde als
if($a==$b){echo $a;}else{echo"niet waar";}

// maar niet hetzelfde als
if($a==$b){echo$a;}else{echo"nietwaar";}
?>

Maar zoals je ziet is het veel netter om vooral de enters maar ook op de juiste plaatsen spaties te gebruiken. Dat maakt je code voor anderen ook leesbaar...
Weet jij zo uit je hoofd in welk hoofdstuk wat staat in de MySQL documentatie?? :p
Wanneer je mede-phphulpers als een keer of 1000 naar dit hoofdstuk hebt verwezen, dan komt er een moment dat je het hoofdstuknummer weet te onthouden...

De hoofstukken die ik het meeste gebruik:
9.5 Gereserveerde woorden
11 Datatypes
12 Functies, waarbij 12.5 de datum- en tijdfuncties bespreekt
13 SQL in het algemeen
www.refcards.com mischien iets voor jou? moet je daar de reference card van mysql maar downloaden :p
(heb ik zelf ook gedaan, heel handig al zeg ik het zelf)

Reageren