recuperation de données sur base par rapport a un envoi

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperation de données sur base par rapport a un envoi

par micka » 26 déc. 2005, 16:47

[RESOLU] en fait il fallai passer par une page intermediere afin d'enregistrer les données dans la base puis de les aficher dans la page suivante.
(liberation de variable).
merci de ton aide.

par Truc » 22 déc. 2005, 20:12

evite de couper le code pour le "balisage" (meme si c'est du html)

une ligne qui a mon avis va planter:
<input type="hidden" name="matricule_original" value="<? echo mysql_result($matricule); ?>">
$matricule contient deja le résultat de la requete =>
$matricule = mysql_result($resultat,0,'matricule');

que souhaites tu avoir comme résultat avec cette requete:
$requete = "SELECT id_detail,numportable FROM detail";// requete 
apres peux tu précisr la ligne de l'erreur parce que la j'ai un peu de mal a situer l'affaire.

par micka » 22 déc. 2005, 16:30

aaparement cela ne passe pas.
j'ai une erreur Warning: Unable to jump to row 0 on MySQL result.
due je pense à mes variables

par micka » 20 déc. 2005, 17:39

merci je vais la tester

par Truc » 20 déc. 2005, 16:47

SAlut,
pour commencer pas la peine de mettre tout ce code que d'aileurs j'ai pas lu, puisque tu cible le probleme a la fin :wink:

1.
Le message d'erreur signifie que la ressource passée à mysql_result() n'est pas correcte.

2.
remplace mysql_db_query() par mysql_query()
Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.
3.
ajoute cette ligne de code après mysql_query():
or die('Erreur SQL !'.$requete.'<br>'.mysql_error()); 
pour avoir un message d'erreur.

4.
as tu un retour avec cette requête ... la table est remplie ?

5.
tu as 2 fois la meme séléction de champ "id_detail":
$num_portable = mysql_result($resultat,0,'numportable');
ça devrai le faire :wink:

par JeanBono » 20 déc. 2005, 16:40

Et si tu ne clos pas la connexion sql avant ton mysql_result ça donne quoi?

recuperation de données sur base par rapport a un envoi

par micka » 20 déc. 2005, 16:22

j'envoi des informations dans ma base, et je souhaiterai au moment de la valisation de ma premiere page avoir une page qui me recupere des information dans ma base par rapport à l'envoi des données.

<form action="visu_incident.php" method="post" name="formulaire">
$connexion = mysql_connect('***','***','***') or die('Erreur de connexion '.mysql_error()); // Connexion à la base de donnée 
mysql_select_db('base_portable',$connexion)  or die('Erreur de selection '.mysql_error()); //Sélection de la base 
$requete = "SELECT matricule,nom,prenom,telephone,service.id_service,libelle_service,sites.id_site,nom_site 
FROM utilisateur,service,sites 
WHERE matricule = '".$_POST['matricule']."' && utilisateur.id_service = service.id_service && service.id_site = sites.id_site "; // requete 
$resultat=mysql_query($requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error()); // execution de la requete 
mysql_close(); // Fermeture de la connexion

if (mysql_num_rows($resultat)!=1)
{
echo "<script languague=\"javascript\">location.href='creation.php?error=Matricule erroné ou inexitant';</script>";
}

$matricule = mysql_result($resultat,0,'matricule');
$nom = mysql_result($resultat,0,'nom');
$prenom = mysql_result($resultat,0,'prenom');
$telephone = mysql_result($resultat,0,'telephone');
$site = mysql_result($resultat,0,'nom_site');
$service = mysql_result($resultat,0,'libelle_service');

<html>
<head>

<title>Portables</title>


<style type="text/css">
<!--
.Style1 {color: #0000FF}
.Style2 {color: #FF0000}
-->
</style>
<body>
<br><br>


<input type="hidden" name="matricule_original" value="<? echo mysql_result($matricule); ?>">
<br><br>




Numéro matricule : <input type="text" name="matricule" value="<? echo $matricule ; ?>">


Nom : <input type="text" name="nom" value="<? echo $nom ;?>">


Prenom : <input type="text" name="prenom" value="<? echo $prenom ;?>">

site : <input type="text" name="service" value="<? echo $site ;?>">

service : <input type="text" name="service" value="<? echo $service ;?>">

Telephone : <input type="text" name="telephone" value="<? echo $telephone ;?>">




<select name="liste_portables">
// Connexion à la base de donnée
$connexion = mysql_connect('****','****','****');

// requete
$requete = "SELECT * FROM portable";

// execution de la requete
$resultat = mysql_db_query('base', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);

for ($i = 0; $i < mysql_num_rows($resultat); $i++)
{
	echo "<option value=\"".mysql_result($resultat,$i,'num_portable')."\">".mysql_result($resultat,$i,'num_portable')."</option>";
}
</select>





<br><br>
<INPUT TYPE="RADIO" NAME="bouton" value="libre">1:libre
<input type="text" name="libre"></td>
<FONT size="+2">

<BR></BR>
<INPUT TYPE="RADIO" NAME="bouton" value="res">2:réservé <td><span class="Style2">réservé le</span> </td>
<input type="text" name="resa"></td>
<FONT size="+2">

<BR></BR>
<INPUT TYPE="RADIO" NAME="bouton" value="pret">3:en pret <span class="Style1">date du pret</span>
<input type="text" name="date">
<FONT size="+2">


<textarea name="commentaire" id="textarea"></textarea>
<label for="textarea">comment</label>
<BR></BR>
<INPUT TYPE="RADIO" NAME="bouton" value="disp">4:disparu
<input type="text" name="disp"></td>
<FONT size="+2">

<BR></BR>
if( $_POST['bouton'] == "libre") //&& $_POST['liste_portable'] != '')
{
// Connexion à la base de donnée
$connexion = mysql_connect('***','***','***');

// requete
$requete = "INSERT INTO detail (id_status,num_portable,matricule,date,commentaire) VALUES ('1','".$_POST['liste_portables']."','".$_POST['matricule']."','".$_POST['libre']."','".$_POST['commentaire']."')";

// execution de la requete
$resultat = mysql_db_query('base_portable', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);
}

	elseif($_POST['bouton']== "res")
	{
		// Connexion à la base de donnée
$connexion = mysql_connect('***','***','***');

// requete
$requete = "INSERT INTO detail (id_status,num_portable,matricule,date,commentaire) VALUES ('2','".$_POST['liste_portables']."','".$_POST['matricule']."','".$_POST['resa']."','".$_POST['commentaire']."')";

// execution de la requete
$resultat = mysql_db_query('base', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);
	}
	elseif($_POST['bouton']== "pret")
	{
					// Connexion à la base de donnée
$connexion = mysql_connect('***','****','***');

// requete
$requete = "INSERT INTO detail (id_status,num_portable,matricule,date,commentaire) VALUES ('3','".$_POST['liste_portables']."','".$_POST['matricule']."','".$_POST['date']."','".$_POST['commentaire']."')";
// execution de la requete
$resultat = mysql_db_query('base', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);
		}
			elseif($_POST['bouton']== "disp")
			{
			// Connexion à la base de donnée
$connexion = mysql_connect('****','****','****');

// requete
$requete = "INSERT INTO detail (id_status,num_portable,matricule,date,commentaire) VALUES ('4','".$_POST['liste_portables']."','".$_POST['matricule']."','".$_POST['disp']."','".$_POST['commentaire']."')";

// execution de la requete
$resultat = mysql_db_query('base', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);
			}


<input name="valide" type="submit" value="valider">
</form>

voici les invormation que je tranfert sur ma base
id_detail num_portable matricule date id_status commentaire
Modifier Effacer 14 V60EAP p007843 2005-12-05 2



voici le code pour visualiser les information entrées dans la base


<form name="visu_incident.php" action="#" method="POST">
numéro d'incident : <? echo $id_detail ; ?>
numero portable : <? echo $num_portable ; ?>






$connexion = mysql_connect('localhost','root','');// Connexion à la base de donnée
$requete = "SELECT id_detail,numportable FROM detail";// requete
$resultat = mysql_db_query('base_portable', $requete, $connexion);// execution de la requete
mysql_close($connexion);// Fermeture de la connexion
$id_detail = mysql_result($resultat,0,'id_detail');
$num_portable = mysql_result($resultat,0,'id_detail');
</form>
</body>
</html>

et voici le message d'erreur reçu
numéro d'incident : numero portable Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
$id_detail = mysql_result($resultat,0,'id_detail');
$num_portable = mysql_result($resultat,0,'id_detail');

[/quote]