[Résolu]Fonction mysql_fetch -problème-

Nouveau WRInaute
Bien le bonjour à vous :) (je suis nouveau chez vous)

Je dois actuellement développé un site web qui fera office de page d' administration d' une base de données MySQl (j'utilise pour cela EasyPHP)

Je débute en PHP malgré que je sois assez débrouillard (Don't panic si mon code n'est pas des plus optimisés 8) )

J'explique brièvement le but de mon code (et la où je suis bloqué :roll: ), je vais essayer d'être le plus clair possible...

Je commence tout d'abord par un formulaire html où je renseigne le Nom et Prenom d'un employe. Ce formulaire renvoie ensuite à un autre formulaire ^^ (ou les champs Nom et Prenom sont pré rempli) et je souhaiterai pré remplir les autres champs automatiquement en fonction des attributs de l'employe dans ma base de données

Voici le code en question
Code:
<?

// Récupération des variables du formulaire Saisie.Html
$Nom = $_POST['Nom'];
$Prenom = $_POST['Prenom'];

// Ouverture de la connexion
$connexion = mysql_connect ("localhost", "root", "123");

// Ouverture de la base de données
mysql_select_db ("parc_informatique", $connexion);

// Recup variable de la base
$NumUF=mysql_fetch(mysql_query("SELECT E_NumUF FROM Table_Emp WHERE Table_Emp.NomE='$Nom' AND Table_Emp.PrenomE='$Prenom';"));
?>

<pre><form method="post" action="_TestFormMAJ.php"><span class="Style1">Informations concernant l' employe:</span>
<p>Nom.................... :  <input type="text" name="NomE" 
<?php if (isset($_POST['Nom'])) { echo 'value="' . $_POST['Nom'] . '"'; } ?> 	/>

Prenom................. :  <input type="text" name="PrenomE" 
<?php if (isset($_POST['Prenom'])) { echo 'value="' . $_POST['Prenom'] . '"'; } ?> />

UF..................... :  <input type="text" name="UF" 
<?php if (isset($NumUF)) { echo 'value="' .$NumUF. '"'; } ?> />

</p><p>
<input type="submit" value = "Valider l' employe" >
</p></form></pre>

<?
// Fermeture de la connexion
    mysql_close();

?>


Les champs Nom et Prenom s'insere coorectement dans le formulaire Pré-rempli mais l ' UF (données obtenues par le SELECT) me pose problème

J'obtiens systématiquement le message suivant :
Fatal error: Call to undefined function: mysql_fetch() in c:\program files\easyphp1-8\www\_testformmaj.php on line 103

Au vue du message, je ne dois pas utiliser correctement la fonction mysql_fetch()

Si quelqu'un pouvait orienter mes recherches, merci d'avance
 
Nouveau WRInaute
e-kiwi a dit:
mysql_fetch_array() :)

Incroyable la vitesse de vos réponses :eek:

Oui effectivement a la base c'est mysql_fecth_array mais quand j'utilise cette syntaxe, il me revoie Array dans le champ du formulaire :?:
 
WRInaute accro
c'est normal, tu affiche ça :
.$NumUF.

alors que c'est un tableau (avec une seule valeur) qui est retourné...

echo 'value="' .$NumUF["NumUF"].

ça devrait aller
 
Nouveau WRInaute
TOMHTML a dit:
c'est normal, tu affiche ça :
.$NumUF.

alors que c'est un tableau (avec une seule valeur) qui est retourné...

echo 'value="' .$NumUF["NumUF"].

ça devrait aller

Un grand merci :lol:

Les autres aussi 8)
 
WRInaute accro
voilou :

1 champ à retourner :
$tableau=mysql_fetch_array($result);
echo $tableau[$varible];

plusieurs champs :
while ($tableau=mysql_fetch_array($result))
{
echo $tableau[$varible];
}
 
WRInaute occasionnel
voila comment on écrit les requetes proporement en php

$req="le texte de ma requete WHERE ma condition";
$res = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
$rs_req = mysql_fetch_array($res)

et hop dans $rs_req tu as sous forme de tableau la 1ère ligne du résultat de ta requete.

pour accèder aux champs tu fais $rs_req["monChamp1"]

et si tu te merdouille dans tes tableaux, la fonction print_r($mon_tableau) t'affiche tout ce que contient $mon_tableau avec les clés pour mieux te repérer
 
Nouveau WRInaute
Merci bien à tous, tant pour la vitesse de vos réponses que pour la qualité...

*recommande ce forum à ses amis*

Je vais travailler mon code, et vous posterai les évolutions (si ca vous interesse :roll: )

@+
 
Nouveau WRInaute
Magnifique, j'ai reussi à produire le résultat voulu grâce à ce nouveau code:
Code:
// Recup variable de la base
$req="SELECT E_NumUF FROM Table_Emp WHERE Table_Emp.NomE='$Nom' AND Table_Emp.PrenomE='$Prenom';";
$res=mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
$rs_req = mysql_fetch_array($res);
//print_r($rs_req);
?>

<pre><form method="post" action="_TestFormMAJ.php"><span class="Style1">Informations concernant l' employe:</span>
<p>Nom.................... :  <input type="text" name="NomE" 
<?php if (isset($_POST['Nom'])) { echo 'value="' . $_POST['Nom'] . '"'; } ?> 	/>

Prenom................. :  <input type="text" name="PrenomE" 
<?php if (isset($_POST['Prenom'])) { echo 'value="' . $_POST['Prenom'] . '"'; } ?> />

UF..................... :  <input type="text" name="UF" 
<?php if (isset($rs_req)) { echo 'value="' .$rs_req["E_NumUF"]. '"'; } ?> />

</p><p>
<input type="submit" value = "Valider l' employe" >
</p></form></pre>

<?
// Fermeture de la connexion
    mysql_close();

?>

Encore merci :)

PS: j'avais aussi une erreur sur le nom du champ (c'était E_NumUF et non NumUF ^^, enfin bref ca marche :p)
 
WRInaute passionné
theJB a dit:
voila comment on écrit les requetes proporement en php

$req="le texte de ma requete WHERE ma condition";
$res = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
$rs_req = mysql_fetch_array($res)
Mettre la requête SQL de la variable $req et le mysql_error()en cas d'erreur, c'est bien en local pour le webmaster, mais dangereux en clair sur la toile du net :? à éviter ;-)
 
Nouveau WRInaute
david96 a dit:
theJB a dit:
voila comment on écrit les requetes proporement en php

$req="le texte de ma requete WHERE ma condition";
$res = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
$rs_req = mysql_fetch_array($res)
Mettre la requête SQL de la variable $req et le mysql_error()en cas d'erreur, c'est bien en local pour le webmaster, mais dangereux en clair sur la toile du net :? à éviter ;-)

Effectivement, mais les pages web en question seront utilisées uniquement en réseau local, cela pose t-il quand même un souci de sécurité?
 
Nouveau WRInaute
mr_go a dit:
Ou un .htaccess mal écrit dans ton répertoire... ;)

malgré que je sois assez débrouillard

Rien à faire, je n'arrive pas à m'y faire à cette faute de français. :)


Plom plom plom, tu vois une faute toi? :lol:


*Rectifie son erreur*

malgré que je SUIS assez débrouillard


Malgré tout, beaucoup de monde utilise le sois au lieu du suis (j'en fais partie on dirait ^^)

PS: j'espère que c'était ca l'erreur ^^
 
Discussions similaires
Haut