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

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

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

Message le Jeu Juil 13, 2006 9:57

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: Tout sélectionner
<?

// 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
Dernière édition par teleadds le Jeu Juil 13, 2006 15:08, édité 1 fois.

theJB
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 411
Inscription: 7 Avr 2006

Message le Jeu Juil 13, 2006 9:59

il me semble que c'est mysql_fetch_array() et non "mysql_fetch()"
non?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Juil 13, 2006 10:00

mysql_fetch_array() :)

----edit -----

zut, grilled

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

Message le Jeu Juil 13, 2006 10:01

e-kiwi a écrit:mysql_fetch_array() :)


Incroyable la vitesse de vos réponses :o

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 :?:


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3250
Inscription: 25 Aoû 2004

Message le Jeu Juil 13, 2006 10:04

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

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

Message le Jeu Juil 13, 2006 10:09

TOMHTML a écrit: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)


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Juil 13, 2006 10:09

voilou :

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

plusieurs champs :
while ($tableau=mysql_fetch_array($result))
{
echo $tableau[$varible];
}

theJB
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 411
Inscription: 7 Avr 2006

Message le Jeu Juil 13, 2006 10:15

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

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

Message le Jeu Juil 13, 2006 10:17

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: )

@+

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

Message le Jeu Juil 13, 2006 10:40

Magnifique, j'ai reussi à produire le résultat voulu grâce à ce nouveau code:
Code: Tout sélectionner
// 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)


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Jeu Juil 13, 2006 14:50

theJB a écrit: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 ;-)


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Juil 13, 2006 14:51

le mieux est de consigner cette erreur dans un log txt

teleadds
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 13 Juil 2006

Message le Jeu Juil 13, 2006 15:07

david96 a écrit:
theJB a écrit: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é?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Juil 13, 2006 15:12

si t as un petit malin dans ton entreprise ? :)


mr_go
WRInaute passionné
WRInaute passionné
 
Messages: 1945
Inscription: 21 Sep 2005

Message le Jeu Juil 13, 2006 15:16

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. :)

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

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité