Probleem met query?
Sweepee - 01/02/2006 23:41
HTML beginner
Hoi allemaal,
Onderstaande query werkt geen 100% .
<?
// Nodige bestanden insluiten.
include('include/all.php');
$query = "SELECT p.name, t.id, t.name, t.zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC";
$result = mysql_query($query) or die(mysql_error());
$content .= '<table>' . n(1);
while($row = mysql_fetch_array($result))
{
$content .= t(1) . '<tr>' . n(1);
$content .= t(2) . '<td>' . $row['t.id'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['t.name'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['t.zipcode'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['p.name'] . '</td>' . n(1);
$content .= t(1) . '</tr>' . n(1);
}
$content .= '</table>' . n(1);
// Pagina weergeven.
template(NULL, $content);
// Verbinding met de database sluiten.
mysql_close($connection) or die(mysql_error());
?>
<?
// Nodige bestanden insluiten.
include ( 'include/all.php' ) ;
$query = "SELECT p.name, t.id, t.name, t.zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC" ;
$content .= '<table>' . n( 1 ) ;
{
$content .= t( 1 ) . '<tr>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 't.id' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 't.name' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 't.zipcode' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 'p.name' ] . '</td>' . n( 1 ) ;
$content .= t( 1 ) . '</tr>' . n( 1 ) ;
}
$content .= '</table>' . n( 1 ) ;
// Pagina weergeven.
template( NULL , $content ) ;
// Verbinding met de database sluiten.
?>
De tabel wordt dus wel degelijk gegenereerd, alleen is de inhoud uit de database gewoonweg niet ingevuld in de tabel.
Iemand een oplossing of tip?
MVG, Kristof.
7 antwoorden
Gesponsorde links
Realtec - 01/02/2006 23:53
HTML interesse
waarom al die punten en spaties in die veldnamen? ik weet niet of dat wel mag..
haytjes - 02/02/2006 00:41 (laatste wijziging 02/02/2006 00:43)
JS gevorderde
<?
// Nodige bestanden insluiten.
include('include/all.php');
$query = "SELECT p.name, t.id, t.name as name_town, t.zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC";
$result = mysql_query($query) or die(mysql_error());
$content .= '<table>' . n(1);
while($row = mysql_fetch_array($result))
{
$content .= t(1) . '<tr>' . n(1);
$content .= t(2) . '<td>' . $row['id'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['name_town'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['zipcode'] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row['name'] . '</td>' . n(1);
$content .= t(1) . '</tr>' . n(1);
}
$content .= '</table>' . n(1);
// Pagina weergeven.
template(NULL, $content);
// Verbinding met de database sluiten.
mysql_close($connection) or die(mysql_error());
?>
<?
// Nodige bestanden insluiten.
include ( 'include/all.php' ) ;
$query = "SELECT p.name, t.id, t.name as name_town, t.zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC" ;
$content .= '<table>' . n( 1 ) ;
{
$content .= t( 1 ) . '<tr>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 'id' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 'name_town' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 'zipcode' ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 'name' ] . '</td>' . n( 1 ) ;
$content .= t( 1 ) . '</tr>' . n( 1 ) ;
}
$content .= '</table>' . n( 1 ) ;
// Pagina weergeven.
template( NULL , $content ) ;
// Verbinding met de database sluiten.
?>
dit zou moeten werken als het klopt dat "n(1)" en "t(1)" een functie is?
oftewel moet je het volgende proberen:
<?
// Nodige bestanden insluiten.
include('include/all.php');
$query = "SELECT t.id, t.name, t.zipcode, p.name FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC";
$result = mysql_query($query) or die(mysql_error());
$content .= '<table>' . n(1);
while($row = mysql_fetch_array($result))
{
$content .= t(1) . '<tr>' . n(1);
$content .= t(2) . '<td>' . $row[0] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row[1] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row[2] . '</td>' . n(1);
$content .= t(2) . '<td>' . $row[3] . '</td>' . n(1);
$content .= t(1) . '</tr>' . n(1);
}
$content .= '</table>' . n(1);
// Pagina weergeven.
template(NULL, $content);
// Verbinding met de database sluiten.
mysql_close($connection) or die(mysql_error());
?>
<?
// Nodige bestanden insluiten.
include ( 'include/all.php' ) ;
$query = "SELECT t.id, t.name, t.zipcode, p.name FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC" ;
$content .= '<table>' . n( 1 ) ;
{
$content .= t( 1 ) . '<tr>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 0 ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 1 ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 2 ] . '</td>' . n( 1 ) ;
$content .= t( 2 ) . '<td>' . $row [ 3 ] . '</td>' . n( 1 ) ;
$content .= t( 1 ) . '</tr>' . n( 1 ) ;
}
$content .= '</table>' . n( 1 ) ;
// Pagina weergeven.
template( NULL , $content ) ;
// Verbinding met de database sluiten.
?>
b4nkr0bz0r - 02/02/2006 00:47
PHP gevorderde
Haytjes dit kan niet kloppen denk ik, want met {} haal je het karakter uit een string (beginnend van 0) en dit zou dus al nooit een output kunnen geven (de goede iig).
Sweepee - 02/02/2006 17:16 (laatste wijziging 02/02/2006 17:17)
HTML beginner
De query werkt ondertussen, dankzij de tip die haytjes me gaf. Ik heb de query aangepast:
$query = "SELECT p.name AS province_name, t.id AS town_id, t.name AS town_name, t.zipcode AS town_zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC";
$query = "SELECT p.name AS province_name, t.id AS town_id, t.name AS town_name, t.zipcode AS town_zipcode FROM province p, town t WHERE t.province_id = p.id ORDER BY t.name ASC" ;
Wie zich afvraagt wat die p en t zijn in de query: een alias voor de tabellen province en town. Iets wat we pas geleerd hebben op school (SQL Server). Ik had echter niet nagekeken of deze query met die aliassen ook werkte in MySQL en of je de gegevens zo dan kon ophalen in PHP.
Wie zich afvraagt wat die n en t zijn in het gedeelte waar HTML gegenereerd wordt: functies die respectievelijk het aantal gewenste "\n" of "\t" retourneert. Iets wat ik gebruik om de HTML-code te structureren.
Bedankt voor de reacties.
MVG, Sweepee.
Gesponsorde links
Dit onderwerp is gesloten .