Page 1 sur 1

Affichage de données

Posté : 02 déc. 2006, 17:00
par Brice83
Bonjour,

Pour afficher une données d'un membre,j'ai fait :

ce code est placé juste avant la balise <html> tout en haut,le fichier "connect.php" contient tout les parametres de connexion et de selection :
<? 
require_once("connect.php");
?>
Ensuite,juste après la balise <body>,j'ai mis :
<?
$sql = 'SELECT membre FROM parties WHERE id = "$id"';
$sql="UPDATE membre SET parties= parties-1 , pi= pi+1  WHERE id='$id' ";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result ($req);
mysql_close ();
?>
et pour finir,pour afficher la donnée sélectionner,je met la ou je souhaite le voir écrit :
<? echo $data['parties']; ?>
Et le probleme est que rien ne s'affiche alors que normalement,le nombre de parties restante devrait s'afficher,non ? !

Vous avez une idée d'ou pourrait venir le problème ?

Merci !

Ps : petite précision, le :
$sql="UPDATE membre SET parties= parties-1 , pi= pi+1  WHERE id='$id' ";
cette requete fonctionne sans probleme !

Posté : 02 déc. 2006, 17:12
par albat
Commençons par corriger les erreurs de syntaxe...
<?php
//...
?>
et non :
<?
//...
?>
$sql = "SELECT membre FROM parties WHERE id = '".$id."'";
$sql = "UPDATE membre SET parties = parties-1, pi = pi+1  WHERE id=".$id; 
Dernier point : tu as nommé tes deux requêtes $sql.
La deuxième affectation écrase donc la première.

Posté : 02 déc. 2006, 18:55
par Cyrano
Commençons par corriger les erreurs de syntaxe...
<?php
//...
?>
et non :
<?
//...
?>
Je me permets un petit rectificatif : la seconde formulation n'est pas une erreur de syntaxe, mais l'utilisation des short_open_tag est vivement déconseillée. Si en effet la directive est désactivée sur le serveur de production et que tu as utilisé ces façon de coder en local, lorsque tu mettras en ligne, rien ne fonctionnera et tu devras reprendre intégralement ton code pour transformer les "<?" en "<?php" : si tu as juste trois pages, ça va encore, mais si tu as 250 fichiers, tu vas trouver ça pénible.

J'ajouterais pour l'anecdote que le "?>" dans un fichier qui ne contiendrait que du PHP est facultatif. Mais je ne recommande pas "cet oubli" pour des raisons de rigueur de programmation, même si c'est syntaxiquement valide et fonctionnel.

Posté : 02 déc. 2006, 19:10
par albat
Ce n'est effectivement pas une erreur de syntaxe, mais j'ai voulu faire simple. ;)