Het maken van een database met daarin 3 items

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bodi Boele

Bodi Boele

24/12/2013 14:14:39
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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:

Afbeelding

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken. De quote-tags zijn uitsluitend bedoeld voor citaten van tekst.
Gewijzigd op 24/12/2013 14:21:11 door - Ariën -
 
PHP hulp

PHP hulp

21/12/2024 19:53:19
 
- Ariën  -
Beheerder

- Ariën -

24/12/2013 14:22:13
Quote Anchor link
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.
Gewijzigd op 24/12/2013 14:26:11 door - Ariën -
 
- Pepijn  -

- Pepijn -

24/12/2013 16:19:11
Quote Anchor link
En de code plakt een beetje aan elkaar, probeer het te ordenen.
 
- Ariën  -
Beheerder

- Ariën -

24/12/2013 16:28:18
Quote Anchor link
Jup, op elke regel een print plaatsen is niet nodig, want je kan ze ook over meerdere lijnen gebruiken.

Ook mist er goede foutafhandeling op je query's: http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
 
Bodi Boele

Bodi Boele

24/12/2013 16:50:21
Quote Anchor link
Zal erom denken, en van die 'code' tags wist ik nog niet op de site. Maar volgens jullie zitten er geen fouten in?
Gewijzigd op 24/12/2013 16:51:17 door Bodi Boele
 
- Ariën  -
Beheerder

- Ariën -

24/12/2013 16:53:34
Quote Anchor link
Geen fouten, maar wel onvolkomenheden, zie ik al heb opgenoemd.
 
Bodi Boele

Bodi Boele

24/12/2013 16:59:33
Quote Anchor link
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:
Quote:
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
Gewijzigd op 24/12/2013 17:01:55 door Bodi Boele
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/12/2013 22:05:43
Quote Anchor link
Dit zou met een
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.