Ik ben een beginner in php en ben een soort van browserspel aan het maken om php te leren. Toen ik een script aan het maken was waarin de gegevens in tabbellen bij elkaar komen. Mijn probleem is dat alles wat uit de mysql database gehaald word geen waarde meer heeft zodra ik die inlees.
Dit is het script:

<?php
session_start();
$gebruiker = $_SESSION['gebruikersnaam'];
echo '<table border="2" width="100%"><Tr><TD>naam</td>';
echo "<TD>$gebruiker</td></tr>";
$ml=mysql_connect("host", "log in", "wachtwoord") or die (mysql_error()) ;
mysql_select_db("db", $ml) or die (mysql_error());
$q1 = "SELECT * FROM tabel WHERE gebruiker='".$gebruikersnaam."'";
$check_contant = mysql_query($q1) or die (mysql_error());

echo '<TR><TD colspan="2">persoonlijk</td></TR>' ;

while ($geld = mysql_fetch_array ($check_contant)) {
$contant = $geld['PERS_contant'];
$persbank = $geld['PERS_bank'];
$spaar = $geld['PERS_spaar'];
$bedbank = $geld['BED_bank'];
echo $geld['PERS_contant'];
echo "<Tr><TD>contant</td><TD>$contant</td></tr>";
echo "<TR><TD>bank</td><TD>$persbank</TD></TR>";
echo "<TR><TD>spaarrekening</td><TD>$spaar</td></tr>";
echo '<TR><TD colspan="2">bedrijf</td></tr>';
echo "<TR><TD>bank</td><TD>$bedbank</td></tr></table>";
echo "$check_contant";
}

?>

IK heb het inlezen al op verschillende manieren geprobeerd, dus ik heb de snelste manier genomen.

alvast bedankt voor jullie hulp
gr,
meracle
<?php
$contant = $geld['PERS_contant'];
$persbank = $geld['PERS_bank'];
$spaar = $geld['PERS_spaar'];
$bedbank = $geld['BED_bank'];
?>

dit rijtje is overbodig, je kunt deze namelijk meteen echoën, kost je weer minder snelheid en geheugen.
Op de regel er direct onder (18) doe je dat namelijk ook al, en op regel 19 doe je dat niet?

Voor de rest wil ik je aanraden dingen als dit
<?php
echo "<Tr><TD>contant</td><TD>$contant</td></tr>";
?>

te veranderen in
<?php
echo "<Tr><TD>contant</td><TD>".$contant."</td></tr>";
?>

oftewel, haal je variabelen buiten de quotes, dat maakt het een stuk overzichtelijker voor jezelf.

overigens zullen dit geen oplossingen zijn voor je problemen, maar gewoon wat opmerkingen over je script.
ik heb dat stuk nu aangepast in :
<?php
while ($geld = mysql_fetch_array ($check_contant)) {
echo "<Tr><TD>contant</td><TD>".$geld['PERS_contant']."</td></tr>";
echo "<TR><TD>bank</td><TD>".$geld['PERS_bank']."</TD></TR>";
echo "<TR><TD>spaarrekening</td><TD>".$geld['PERS_spaar']."</td></tr>";
echo '<TR><TD colspan="2">bedrijf</td></tr>';
echo "<TR><TD>bank</td><TD>".$geld['BED_bank']."</td></tr></table>";
}
?>

Voor de rest wil ik je aanraden dingen als dit


<?php
echo "<Tr><TD>contant</td><TD>$contant</td></tr>";
?>

te veranderen in


<tr><td>contant</td><TD> $contant."</td></tr>";
?>



Ik zou het zelfs veranderen naar:


<?php
while ($geld = mysql_fetch_array ($check_contant)) {?>
<tr><td>contant</td><td><?php echo $geld['PERS_contant']; ?></td></tr>
<tr><td>bank</td><td><?php echo $geld['PERS_bank'];?></td></tr>
<?php
//enzovoort
}?>

oftewel echo geen HTML
Waarom dan geen HTML echo-en?
Waarom zou je php html laten echoen. Dat hoeft toch niet dat is al html.
wat denk je dat sneller gaat


<?php echo'<table><tr><td>ik ben een'. $cel. ' in een'. $rij.' van een.' $tabel.'</td></tr></table>'; ?>


of

<table><tr><td>ik ben een <?php echo $cel ; ?> in een <?php echo $rij; ?>van een <?php echo $tabel; ?></td></tr></table>


tevens zie je in dreamweaver in het laatste voorbeeld in design view een tabel. in het eerste voorbeeld zie je alleen een php blokje
Ik weet niet wat sneller gaat. Ik ga het morgen testen. En over dat in Dreamweaver, daar heb je zeker een punt.
weet iemand wat ik fout doe???

Reageren