Menu et tableau

Eléphant du PHP | 406 Messages

07 mai 2005, 12:39

Salut,

En combinant mes different code j ai souhaiter afficher dans un tableau une liste de personne en fonction d' un idenfiant recuperer dans une liste deroulante mais j ai deux question .
voila mon code d abord

Code : Tout sélectionner

<?php include("connexion.inc.php"); $sql = 'SELECT * FROM ville order by id_ville;'; $result = pg_query($sql) or die( 'Erreur' ); $nb = pg_num_rows($result); echo '<h1> nombre '.$nb.'</h1>'; //echo '<select name="ville">'; echo "<select name=\"ville\" onChange=\"location.href='" . $_SERVER['PHP_SELF'] . "?idVille=' + this.value\">"; if ( $nb==0 ) { echo '<option>Aucune ville</option>'; } else { echo '<option>Ville</option>'; while ( $list = pg_fetch_array( $result ) ) { echo '<option value="'.$list['id_ville'].'">'.$list['nom_ville'].'</option>'; } } echo '</select> '; $idville=@$_GET['idVille']; //affichage du tableau $sql='select * from personne where ville='.$idville.' order by nom_perso'; $result=pg_query($sql); echo '<table width="80%" border="1" bgcolor="silver">'; while($list=pg_fetch_array($result)) echo '<tr onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\'silver\'" style="background-color: silver"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>'; echo '</table>'; ?>
Au depart de l affichage de la page, j ai toujours ce message d erreur
Warning: pg_query(): Query failed: ERROR: syntax error at or near "order" at character 37 in c:\documents and settings\franky\bureau\avion\affichagetableau.php on line 33

Warning: pg_fetch_array(): supplied argument is not a valid PostgreSQL result resource in c:\documents and settings\franky\bureau\avion\affichagetableau.php on line 35
et je voulais savoir si je pouvais en cliquant sur une ligne du tableau afficher une nouvelle page au format reduit qui serait en faite un formulaire contenant les données presente sur la ligne que j ai cliqué.
Est ce possible ??

Mammouth du PHP | 19672 Messages

07 mai 2005, 13:08

Pour la première question : les messages d'erreur retournés par PGSQL. Est-ce que la connexion et la sélection de la base sont bien inclus dans le fichier connexion.inc.php ? Sinon, il faudrait commencer par là et établir la connexion. Si la connexion est bien établie, alors il faudrait essayer d'exécuter la requête directement dans un utilitaire d'administration PgSQL pour lire le retour. Il est possible qu'il y ait une erreur de syntaxe quelque part.

Pour la seconde question, il faudrait faire appel à JavaScript pour la création d'un pop-up avec remplissage dynamique du formulaire en fonction du choix. Un lien intéressant sur ce point ICI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

07 mai 2005, 13:20

je l ai resolu en rajoutant un if
et sa fonctionne
<?
//affichage du tableau
if($idville<>""){
$sql='select * from personne where ville='.$idville.' order by nom_perso';
$result=pg_query($sql);
echo '<table  width="80%" border="1" bgcolor="silver">';
while($list=pg_fetch_array($result))
echo '<tr onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\'silver\'" style="background-color: silver"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>'; 
echo '</table>';
}
maintenant je vais voir pour le reste

Mammouth du PHP | 19672 Messages

07 mai 2005, 13:23

Attention, le PHP n'est pas du SQL :
if($idville<>"")
devrait être :
if($idville != "")
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

07 mai 2005, 13:47

ok je vais modifier merci