Gegevens in 3 kolommen?
Ik ben van plan een soort game systeem waar mensen hun kleur van hun team kunnen kiezen.
Nou d8 ik aan maximaal 10 players in 1 ronden zeg maar.
Maar ik weet niet hoe ik het zo moet maken dat de IP, Kleur en naam van 1 gebruiker in 3 collomen komt te staan, als er dan een 2e gebruiker bij komt dan komt er gewoon een ',' achter de andere gegeevens te staan.
Alleen hoe maak ik het? :s
ik heb dit in m'n SQL Tabel staan:
naam text,
ip text,
team text,
dan staat er dus bijvoorbeeld in IP als er 2 mensen zich aanmelden:
0.0.0.0,1.1.1.1
en bij team bijvoorbeeld:
red,blue
Kan iemand me helpen hoe ik dit voorelkaar krijg?
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
aaah, ik weet het egt niet meer hoor..
Ik geloof niet dat ik je begrijp.
Kijk daarnaast ook even naar de datatypes die je gebruikt, voor dit soort gegevens gebruik je geen TEXT velden.
Je krijgt dus een tabel als:
gebruikers
--------------
id (int)
naam (varchar)
ip (varchar)
team (varchar)
En je tabel zou er dan gevuld als volgt uit zien:
id | naam | ip | team
----------------------------
1 | kees | 1.2.3.4 | red eagles
2 | piet | 5.6.7.8 | total
ps. Let erop dat als je meerdere gebruiker in 1 team krijgt, dat je dan een aparte tabel voor de teams nodig hebt. Zoek maar eens naar de tutorial over het normaliseren van je database...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$spelers = array ();
while (fetch fetch fetch) {
array_push ($spelers['naam'], $row['naam'];
array_push ($spelers['ip'], $row['ip'];
array_push ($spelers['team'], $row['team'];
}
?>
$spelers = array ();
while (fetch fetch fetch) {
array_push ($spelers['naam'], $row['naam'];
array_push ($spelers['ip'], $row['ip'];
array_push ($spelers['team'], $row['team'];
}
?>
Daarna kun je dan zoiets doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
echo '<table>';
echo '<tr>';
echo '<td>';
for ($i = 0, $n = count ($spelers['naam']; $i < $n; $i++) {
// hier alle spelers echoën
}
echo '</td>';
echo '<td>';
for ($i = 0, $n = count ($spelers['ip']; $i < $n; $i++) {
// hier alle ip's echoën
}
echo '</td>';
echo '<td>';
for ($i = 0, $n = count ($spelers['team']; $i < $n; $i++) {
// hier alle teams echoën
}
echo '</td>';
echo '</tr>';
echo '</table>';
?>
echo '<table>';
echo '<tr>';
echo '<td>';
for ($i = 0, $n = count ($spelers['naam']; $i < $n; $i++) {
// hier alle spelers echoën
}
echo '</td>';
echo '<td>';
for ($i = 0, $n = count ($spelers['ip']; $i < $n; $i++) {
// hier alle ip's echoën
}
echo '</td>';
echo '<td>';
for ($i = 0, $n = count ($spelers['team']; $i < $n; $i++) {
// hier alle teams echoën
}
echo '</td>';
echo '</tr>';
echo '</table>';
?>
Quote:
Dan staat er een hele grote fout in je database, je slaat nooit en te nimmer 2 gegevens op in 1 record. Ga normaliseren (zie de Tutorials) en zorg er voor dat dit soort problemen nooit voorkomen.dan staat er dus bijvoorbeeld in IP als er 2 mensen zich aanmelden:
0.0.0.0,1.1.1.1
0.0.0.0,1.1.1.1
Offtopic/mening: Een game lijkt mij nog wat te hoog gegrepen...