Hallo iedereen

Ik heb een pagina waar bij de naam en voor word gezien
nu wel ik de naam op alfabetisch volgorde hebben

Dit is de code die ik tot nu toe heb


$select3 = "SELECT * FROM leden_gegevens WHERE id = '".$list->uid."'";  
$query3 = mysql_query($select3)or die(mysql_error());
$list3 = mysql_fetch_object($query3);
	echo "<tr>";
	echo "<td align=\"center\"  width=\"32%\"><a href=\"mailto:$list3->email?subject=Mededeling\">".$list3->achternaam."&nbsp;".$list3->naam."</td>";

deze code heb ik gebruikt op het op volgorde te krijgen


$select3 = "SELECT * FROM leden_gegevens WHERE id = '".$list->uid."' ORDER BY achter = 'achternaam'";  
$query3 = mysql_query($select3)or die(mysql_error());
$list3 = mysql_fetch_object($query3);
	echo "<tr>";
	echo "<td align=\"center\"  width=\"32%\"><a href=\"mailto:$list3->email?subject=Mededeling\">".$list3->achternaam."&nbsp;".$list3->naam."</td>";


Maar geen resutaat

M.v.g.
Eerst, gebruik betere foutafhandeling: http://github.com/WouterJ/sql-boilerplate/tree/mysql/
Ten tweede, we kijken eens in de documentatie en daar vinden we het volgt: (wat ingekort)
SELECT
    (...)
    select_expr [, select_expr ...]
    [FROM table_references
    [WHERE where_condition]
    (...)
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    (...)

Dit stelt de opbouw van de query voor. Dit geeft aan hoe we ORDER BY moeten gebruiken:
ORDER BY {col_name | expr | position}

Hierbij is col_name de naam van de kolom uit de tabel. Dit betekend dus dat we geen syntax als ORDER BY achter = 'achternaam' moeten gebruiken, maar ORDER BY achter.
Hallo wouter

Ik heb de code veranderd in dit

$select3 = "SELECT * FROM leden_gegevens WHERE id = '".$list->uid."' ORDER BY achternaam ASC";  
$query3 = mysql_query($select3)or die(mysql_error());
$list3 = mysql_fetch_object($query3);
	echo "<tr>";
	echo "<td align=\"center\"  width=\"32%\"><a href=\"mailto:$list3->email?subject=Mededeling\">".$list3->achternaam."&nbsp;".$list3->naam."</td>";


Maar ik zie ze nog niet op volgorde staan
waarschijnlijk gaat er nog iets mis

M.v.g.
Je haalt maar één record op.
Hallo Santhe

Wat bedoel je precies want hij laat wel alle 90 namen zien maar niet op de goede volgorde

M.v.g.
Hebben die 90 leden allemaal hetzelfde ID dan?
Wat doet $select2, $query2 etc?

Want bovenstaande code zou maar 1 record moeten geven (door het ID én doordat je maar eenmalig fetcht en geen while-loop hebt etc)
Andre vredeveld op 26/05/2012 20:24:57

Wat bedoel je precies want hij laat wel alle 90 namen zien maar niet op de goede volgorde


Niet met bovenstaand scriptje.

Zit je niet in het verkeerde script te werken?
Hallo iedereen

Hier nog een stukje code misschien dat jullie dan kunnen zien waarom het niet lukt

$select = "SELECT * FROM kinder_gegevens "; 
$query = mysql_query($select)or die(mysql_error());
$num = mysql_num_rows($query);
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"98%\">";				
echo "<tr>";
echo "<td align=\"center\"  width=\"32%\"><b>Ouder(s)</b></td>";
echo "<td align=\"center\"  width=\"28%\"><b>Van kind</b></td>";
echo "<td align=\"center\"  width=\"12%\"><b>Is er betaald</b></td>";
echo "<td align=\"center\"  width=\"26%\"><b>Actie</b></td>";
echo "</tr>";
echo "</table>";
echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"98%\">";				
if($num == 0) { 
echo "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'> Er staan geen kinderen in onze database.</font></tr></td></table>"; 
}else { 
while($list = mysql_fetch_object($query)) 
{
$select3 = "SELECT * FROM leden_gegevens WHERE id = '".$list->uid."' ORDER BY achternaam ASC";  
$query3 = mysql_query($select3)or die(mysql_error());
$list3 = mysql_fetch_object($query3);
	echo "<tr>";
	echo "<td align=\"center\"  width=\"32%\"><a href=\"mailto:$list3->email?subject=Mededeling\">".$list3->achternaam."&nbsp;".$list3->naam."</td>";
	echo "<td align=\"center\"  width=\"28%\">".$list->naamkind."</td>";


Even een update ik heb nu deze code gebruikt en nu laat hij het wel zien op alfabetisch volgorder

$select = "SELECT * FROM leden_gegevens ORDER BY achternaam ASC"; 
$query = mysql_query($select)or die(mysql_error());
$num = mysql_num_rows($query);
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"98%\">";				
echo "<tr>";
echo "<td align=\"center\"  width=\"32%\"><b>Ouder(s)</b></td>";
echo "<td align=\"center\"  width=\"28%\"><b>Van kind</b></td>";
echo "<td align=\"center\"  width=\"12%\"><b>Is er betaald</b></td>";
echo "<td align=\"center\"  width=\"26%\"><b>Actie</b></td>";
echo "</tr>";
echo "</table>";
echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"98%\">";				
if($num == 0) { 
echo "<font face='Verdana, Arial, Helvetica, sans-serif' size='2'> Er staan geen kinderen in onze database.</font></tr></td></table>"; 
}else { 
while($list = mysql_fetch_object($query)) 
{
$select3 = "SELECT * FROM kinder_gegevens WHERE uid = '".$list->uid."' ";  
$query3 = mysql_query($select3)or die(mysql_error());
$list3 = mysql_fetch_object($query3);
	echo "<tr>";
	echo "<td align=\"center\"  width=\"32%\"><a href=\"mailto:$list->email?subject=Mededeling\">".$list->achternaam."&nbsp;".$list->naam."</td>";
	echo "<td align=\"center\"  width=\"28%\">".$list3->naamkind."</td>";

Maar nu laat hij per ouder MAAR 1 kind zien en niet alle kinderen per ouder
En ouders zonder kinderen laat hij ook zien wat eigenlijk niet moet

dus daar loop ik nu mee vast

M.v.g.
Wat een verschrikkelijke code, als ik dat zo mag zeggen.
Echo in PHP je HTML met enkele haakjes.

Dus niet zo:
echo "<td align=\"center\"  width=\"32%\"><b>Ouder(s)</b></td>";

Maar zo:
echo '<td class="procent32">Ouder</td>';


Ik heb die align, width en <b> weggehaald, want dat hoort via CSS.
Daarnaast hoef je alleen de bovenste regel (de <th>) de breedte op te geven, mocht je dat echt in je HTML willen doen.

CSS
td.procent32
	{
	font-weight: bold;
	text-align: center;
	width: 32%;
	}

Eddy Erkelens op 27/05/2012 09:51:53

Wat een verschrikkelijke code, als ik dat zo mag zeggen.
Echo in PHP je HTML met enkele haakjes.

Dus niet zo:
echo "<td align=\"center\"  width=\"32%\"><b>Ouder(s)</b></td>";

Maar zo:
echo '<td class="procent32">Ouder</td>';


Ik heb die align, width en <b> weggehaald, want dat hoort via CSS.
Daarnaast hoef je alleen de bovenste regel (de <th>) de breedte op te geven, mocht je dat echt in je HTML willen doen.

CSS
td.procent32
	{
	font-weight: bold;
	text-align: center;
	width: 32%;
	}




Eddy Erkelens op 27/05/2012 09:51:53

Wat een verschrikkelijke code, als ik dat zo mag zeggen.
Echo in PHP je HTML met enkele haakjes.

Dit klopt dit was van een bestande code en ik ben druk aan leren hoe ik alles om moet zetten dus ben wel blij met deze reactie

en dan het volgende

Dus niet zo:
echo "<td align=\"center\"  width=\"32%\"><b>Ouder(s)</b></td>";

Maar zo:
echo '<td class="procent32">Ouder</td>';

dit vind ik een super idee

[/quote]

Super opmerkingen bedankt

M.v.g.

Reageren