Je moet je While-loop onder verdelen in 2 sectie's.
1e sectie word voor alles wat maar 1x moet worden geteld, in dit geval zou dit de naam afbeelding enz....... zijn.
2e sectie komt dus je social media linken en plaatje te staan.
Even voorbeeld:
<?php
$i=1;
while($row = mysql_fetch_assoc($result))
{
if($i == 1)
{
// Hier alles neer zetten wat maar 1x getoont hoeft te worden.
// Voorbeeld je Plaatje, naam enz.........
} // end of if
// Hier zet je dus de Social Media linken en plaatjes.
//hoog de $i op voor het volgende record
$i++;
} // end of while()
?>
Verder:
- Let op Foutafhandeling bij je query. Je gebruikt nu or die().
Dit is iets uit de stenen tijd perk en word niet meer gebruikt. Komt dus beetje op neer met or die() op deze zin: Als jij iets fout doet, ga je dan ook gelijk dood?
- In je query gebruik je nu SELECT *. Je kunt beter op de plek van de * de velden compleet benoemen. Wat je nu doet is telkens alles ophalen wat in de tabel zet. Nu heb je misschien alles wel nodig, alleen is je query nu onduidelijk welke velden je nu gebruikt en hoe ze worden genoemd. Wat inhoud dat je bijna altijd in je database moet kijken welke benaming je hebt gebruikt. Tevens is velden benoemen ook snelheids winst van je query.
include 'cfg/cfg.php';
mysql_select_db($db,$con);
$sql = 'SELECT * FROM team,social WHERE social.tid=team.id LIMIT 0, 100 ';
$rst = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($rst))
{
if($i == 1)
{
echo('
<tr id="PIC"><td class="SB2" rowspan="9"><img src="../img/ttwm/'.$row['img'].'" alt="MBRpic" class="pic"/></td></tr>
<tr id="NAAM"><td class="SB3">Naam :</td><td class="SB">'.$row['nm'].'</td></tr>
<tr id="CALL"><td class="SB3">Call sign :</td><td class="SB">'.$row['fn'].'</td></tr>
<tr id="TYPE"><td class="SB3">Type speler :</td><td class="SB">'.$row['ts'].'</td></tr>
<tr id="RANK"><td class="SB3">Team rank :</td><td class="SB">'.$row['tr'].'</td></tr>
<tr id="SINDS"><td class="SB3">Paintball sinds :</td><td class="SB">'.$row['ps'].'</td></tr>
<tr id="MARKER"><td class="SB3">Favorite marker :</td><td class="SB">'.$row['fm'].'</td></tr>
<tr id="INTREST"><td class="SB3">Andere intresse :</td><td class="SB">'.$row['ai'].'</td></tr>
');
} // end of if
// Hier zet je dus de Social Media linken en plaatjes.
//hoog de $i op voor het volgende record
$i++;
echo ('
<tr id="FACE"><td class="SB3">Social media :</td><td class="SB"><a href="'.$row['tid'].'" target="_blank">
<img alt="Social media" style="border:0px" src="../img/'.$row['pic'].'"/></a></td></tr>
<tr><td colspan="3"> </td></tr>
');
} // end of while()
?>
[size=xsmall]Toevoeging op 26/06/2012 12:13:42:[/size]
Wat betreft SELECT *, is een goeie tip, zal er in het vervolg rekening mee houden.
Echter heeft het nu weinig zin denk ik, omdat alles opgehaald dient te worden.
Het maakt dus niet echt uit welke namen er staan, omdat alles nodig is.
De error geeft aan dat nergens die $i++; word gezet.
Als je mijn code met jou code vergelijkt zie je dat je een stukje code boven de while bent vergeten. code zou moeten zijn
<?php
include 'cfg/cfg.php';
mysql_select_db($db,$con);
$sql = 'SELECT * FROM team,social WHERE social.tid=team.id LIMIT 0, 100 ';
$rst = mysql_query($sql) or die(mysql_error());
$i=1;
while($row = mysql_fetch_array($rst))
{
if($i == 1)
{
echo'
<tr id="PIC"><td class="SB2" rowspan="9"><img src="../img/ttwm/'.$row['img'].'" alt="MBRpic" class="pic"/></td></tr>
<tr id="NAAM"><td class="SB3">Naam :</td><td class="SB">'.$row['nm'].'</td></tr>
<tr id="CALL"><td class="SB3">Call sign :</td><td class="SB">'.$row['fn'].'</td></tr>
<tr id="TYPE"><td class="SB3">Type speler :</td><td class="SB">'.$row['ts'].'</td></tr>
<tr id="RANK"><td class="SB3">Team rank :</td><td class="SB">'.$row['tr'].'</td></tr>
<tr id="SINDS"><td class="SB3">Paintball sinds :</td><td class="SB">'.$row['ps'].'</td></tr>
<tr id="MARKER"><td class="SB3">Favorite marker :</td><td class="SB">'.$row['fm'].'</td></tr>
<tr id="INTREST"><td class="SB3">Andere intresse :</td><td class="SB">'.$row['ai'].'</td></tr>
';
} // end of if
// Hier zet je dus de Social Media linken en plaatjes.
echo '
<tr id="FACE"><td class="SB3">Social media :</td><td class="SB"><a href="'.$row['tid'].'" target="_blank">
<img alt="Social media" style="border:0px" src="../img/'.$row['pic'].'"/></a></td></tr>
<tr><td colspan="3"> </td></tr>
';
//hoog de $i op voor het volgende record
$i++;
} // end of while()
?>
Wat betreft die *. Je kan beter nooit die * gebruiken ook al heb je alles nodig.
EDIT:
Op onderstaande manier is je query gewoon veel duidelijke voor je zelf maar ook voor een mede scripter die een aanpassing moet doen. Wat ik ook nog mee wil geven. Probeer zoveel mogelijk volledige namen te gebruiken en geen afkortingen. Want weet je over een half jaar nog wat velden ts, tr of ai betekenen en welke gegevens daar bij horen?
<?php
$sql = 'SELECT
img,
nm,
fn,
ts,
tr,
ps,
fm,
ai,
pic
FROM
team,
social
WHERE
social.tid=team.id
LIMIT 0, 100 ';
?>