Hey allemaal,
Ik heb hulp nodig, ik ben bezig met (zoals ik in mijn vorige vraag ook al heb gezet*) een ranglijst te maken. Nu heb ik het advies opgevolgd om een database te maken, maar nu moet ik de data erin zetten en er uit halen. Dit is de code die ik nu heb, maar deze werkt niet naar mijn idee.

Uploaden:

<?php
mysql_connect($mysql['host'], $mysql['username'], $mysql['password']);
mysql_select_db($mysql['database']);
 mysql_query(" INSERT INTO ranglijst (Deelnemer, Punten)
VALUES (value1, value2, value3,...) ( '".$naam." ".$achternaam."',".$totaalpunten." )"); 
 Print "Your table has been populated"; 
?>


Verkrijgen Data:


<?php
mysql_connect($mysql['host'], $mysql['username'], $mysql['password']);
mysql_select_db($mysql['database']);

$sql = mysql_query('SELECT Deelnemer, punten*12 - 4*Nummer as Punten'
        . ' FROM ranglijst'
        . ' ORDER BY Punten LIMIT 0, 1000 ') or die(mysql_error()); 
Print '<div class="CSSTableGenerator" >';
Print "<Table>"; 
echo "<tr><td>Plaats</td><td>Naam</td><td>Punten</td></tr>";
$i = 0;
 while($info = mysql_fetch_array( $sql )) 
 { 
 Print "<tr>"; 
 Print "<td>".$i++. "</td> "; 
 Print "<td>".$info['Deelnemer'] . "</td> "; 
 Print "<td>".$info['Punten'] . " </td></tr>"; 
 } 
 Print "</table></div>"; 
?>


Database zelf:



Wat werkt er naar jouw idee niet?
En waarom hak je je query op lijn 5 in verschillende stukken? Een ENTER voldoet ook i.p.v. de punten.
En de code plakt een beetje aan elkaar, probeer het te ordenen.
Zal erom denken, en van die 'code' tags wist ik nog niet op de site. Maar volgens jullie zitten er geen fouten in?
Geen fouten, maar wel onvolkomenheden, zie ik al heb opgenoemd.
oke, ik heb het foutje al gevonden. bij uploaden stond op regel 5 2 keer de values... Maar nu mijn volgende probleem... Ik wil als de naam met een aantal punten al bestaat de naam en punten overschrijven met de nieuwere data, in plaats van aanvullen.

Dit is nu de output:
Plaats Naam Punten
1 Kees Kezens 180
2 Kees Kezens 184
3 Kees Kezens 188
4 Kees Kezens 192
5 Kees Kezens 196
6 Kees Kezens 200
7 Kees Kezens 204
8 Kees Kezens 208
Dit zou met een
<?php
mysql_query("UPDATE tablename SET punten=" . $punten . " WHERE id=" . $id);
?>
moeten kunnen werken. Die id mis je volgens mij nog. Maak een extra kolom aan (liefst op de eerste plaats) met de naam id. Vervolgens benoem je deze kolom als primaire sleutel (primary id) en zet je hem op autoincrement. Hierdoor zullen de records een uniek id krijgen en heb je nooit geen verwarring meer met dubbele persoonsnamen.

Reageren