Base dedonnées [Résolu]

Signaler
-
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
-
Bonjour,
excusez moi énormément j'ai besoin d'une grande par rapport a mon enregistrement dans ma base car je ne sais pas mais lorsque je renseigne certains champs de mon formulaire par exemple : DATE et TYPE d'incident il n'affiche rien dans ma base de donnée et je ne sais pas pourquoi . svp aidez moi

4 réponses

Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Bonjour,

Là comme ça.. a vue de nez.. je dirais....Je n'en sais rien...!

Par contre, si tu prends le temps de nous montrer le code qui te pose problème (et UNIQUEMENT la partie du code qui ne fonctionne pas (pas toute ta page !! )) on pourrai essayer de t'aider.

Encore une fois,(j'espère la dernière) je t'invite à lire les conseils d'écriture du règlement du site : conseils-d-ecriture

Donc :
Tu nous montres :
- La partie "Formulaire"
- Le code qui fait l'INSERT (ou l'UPDATE) de ta BDD
- La description des champs de ta table
merci pour ton aide voila le code de mon formulaire :<tr>
<td><strong> Type : </strong> </td>
<td><select name="type de demande" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="text" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
<tr>
<td><strong> Etat: </strong> </td>
<td><input type="checkbox" name="etat" value="URGENCE"
checked = "checked" />
URGENCE
<input type="checkbox" name="etat" value="A PREVOIR" />
A PREVOIR
<input type="checkbox" name="etat" value="EN ATTENTE" />
EN ATTENTE</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="submit" type="submit" value="Envoyer" />
<input name="reset" type="reset" value="Annuler" />
</div></td>
</tr>
voici les descriptions des champs de ma table demande :date(type=date,null=non, defaut= aucune)
type (type=varchar(250, null=non, defaut= aucune)
au fait le problème se situe au niveau des descriptions des champs de mon formulaire par exemple pour un champ date lorsque je veux faire un enregistrement il ne donne rien dans la base sachant que j'inserer la date il en est de même pour mon champ type . donc je te donne la description de mon script PHP :
<?php

//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "GEST_INC" ) ;

//récupération des valeurs des champs:

//etat :

@$etat = $_POST["actif"];

//id:

@$id = $_POST["id"];

//utilisateur
$utilisateur = $_POST["utilisateur"] ;
//type:
@$type = $_POST["type"] ;

//date:
@$date = $_POST["date"] ;
//etat :
$etat= $_POST["etat"];

//délai:
$delai= $_POST["delai"];

//création de la requête SQL:
$sql = "INSERT INTO demande (id ,utilisateur , type , date, etat , delai)
VALUES ( '', '$utilisateur', '$type','$date','$etat', '$delai') " ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo(" <b>L'insertion a été correctement effectuée </b>") ;
//ici s'affiche mon tableau

echo "<table align=center border=1>
<tr>";
//titre de mon tableau
echo "<th>id</th>
<th>utilisateur</th>
<th>type</th>
<th>date</th>
<th>etat</th>
<th>delai</th>" ;



echo "</tr>";

// affiche mes variables


echo "<td>".$id ."</td>";
echo "<td>".$utilisateur."</td>";
echo "<td>".$type. "</td>";
echo "<td>".$date. "</td>";
echo "<td>".$etat. "</td>";
echo "<td>".$delai. "</td>";

echo "</tr>" ;

//fin du tableau
echo"</table>";
}
else
{
echo("l'insertion à échouée");
}

?>
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
=>>>>>>> Où est la coloration SYNTAXIQUE ?????? !!!!!!
Dernière fois que je te le demande... après... je ne répond plus !


Quoi qu'il en soit.. merci de remplacer le code qui se trouve entre :
//création de la requête SQL:
et //affichage des résultats, pour savoir si l'insertion a marchée:

par celle que je te colle ci-dessous et de nous dire ce que tu obtiens.

//création de la requête SQL:
$sql = "INSERT INTO demande (id ,utilisateur , type , date, etat , delai)
VALUES ( '', '$utilisateur', '$type','$date','$etat', '$delai') " ;

Echo " Variables passees en POST : <br>";
Print_r($_POST);
Echo " Requête : <br>";
Print_r($sql);

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx)  ; 

BONJOUR jordane45 je viens juste de tester le code que tu m'a remis et voila comment il fonctionne lorsque je faire mon enregistrement :Variables passees en POST :
Array ( [utilisateur] => user012 [type_de_demande] => Formation [delai] => [date_] => [etat] => URGENCE [submit] => Envoyer ) Requête :
INSERT INTO demande (id ,utilisateur,type ,date, etat ,delai) VALUES ( '','user012','','','URGENCE', '') L'insertion a été correctement effectuée
voici mon code html des champs DATE et TYPE:
<tr>
<td><strong> Type : </strong> </td>
<td><select name="type" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="text" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
voici mon ma balise FORM : <form name="form1" method="post" action="demande.php">
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Bonjour,

La réponse à ton souci est dans ce que tu viens de nous poster....

Comme tu as pu le voir (enfin j'espère que tu as essayé de comprendre ...) tes variables DATE et ETAT sont vide....dès le passage en POST.

Donc je pense que tu n'as pas inséré ces champs DANS LES BALISES FORM !

maintenant, peux-tu, nous montrer le code HTML qui contient les champs DATE et TYPE ainsi que les balises <form> qui constituent ton formulaire ??


EDIT : Pardon, les champs concernés sont DATE et DELAI
 delai] => [date_] => 
jordane45 j'ai remarqué que lorsque je met les isset pour le test de mes variable là ou j'ai ma requête sql : la date change de couleur et s'affiche automatiquement en bleu au lieu du noir comme il était précedement
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Je ne répondrais plus tant que tu n'utiliseras pas la coloration syntaxique du site !!!
excuses moi jordane45 mais je ne sais pas comment utiliser la coloration syntaxique du site pour le mettre dans mon commentaire
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Relis mes messages. ..l'explication est dedans !
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Bon, je vais faire un dernier petit effort....

Le code HTML contenant tes champs DATE et TYPE... se trouvent t'ils DANS tes balises FORM ?


<form name="form1" method="post" action="demande.php">

// ICI TES CHAMPS DATE,TYPE,ETAT,UTILISATEUR etc...

</form>



Merci de nous montrer, donc ton code contenant les balises <form> ET les champs DATE et TYPE.

En utilisant LA COLORATION SYNTAXIQUE :
GUIDE COLORATION SYNTAXIQUE ICI !


Si tes champs ne se trouvent pas DANS les balises FORM... c'est normal qu'ils n'arrivent pas dans tes variables POST.


Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
je te fais signe dès que j'ai un bobo !!!
Pas trop vite quand même ... lol..

En tous cas.. n'oublies pas de "debuguer" ton programme en utilisant des PRINT_R sur tes variables (que ce soit celles en POST ou juste tes requêtes).
Tester tes requêtes directement dans ta BDD.

Au passage, pour manipuler ma BDD, j'utilise un petit soft bien sympa et pratique : HeidiSQL.
En gros, tu peux y faire la même chose que dans PhpMyAdmin mais en plus réactif et avec quelques fonctionnalités supplémentaires.

Bonne continuation.
stp dis moi comment utilise t'ont HeidiSQL pour manipuler ma base de donnée
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Déjà, il faut le télécharger
http://www.heidisql.com/

Ensuite, enregistrer les informations de connexion à ta bdd
http://www.heidisql.com/screenshots.php?which=connection

Après, tu peux accéder directement à ta BDD, aux tables et aux vues présentes dedans...
Lancer des requêtes (pour les tester )
exemple :
http://www.heidisql.com/screenshots.php?which=query

Pour apprendre à t'en servir.. il faut l'utiliser et essayer...
Tu as aussi des tutos (en anglais) comme celui la :
http://www.youtube.com/watch?v=BTz6wYVxPfI
bon jordane45 dis moi quel est utilité de Heidisql car je ne comprends rien ace qu'il est dit car tout est en anglais stp tu peux m'expliquer avec des exemples
Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
335
Tanon, si tu te lances dans la programmation.. il faut te mettre à l'anglais....
Malheureusement, je n'ai pas le temps de faire un cours sur cet outil.
Tu l'installes, tu renseignes les infos de connexion à ta base... et tu testes...
Après, si c'est trop compliqué pour toi (car en anglais);..ben continue à utiliser PhpMyadmin...
après tout, ce logiciel ... ce n'est "que" du confort. pas une obligation.
Tu peux très bien continuer à développer sans.

PS: je te rappelle que nous aidons sur des soucis techniques précis.. nous ne faisons pas de formations..


Pour ce qui est de lutilité de ce logiciel :
C'"est pareil que PhpMyAdmin mais à la place de passer par une page web pour manipuler ta Base de données, tu passes par un client lourd (un logiciel installé sur ton pc si tu préfères).
L'avantage, c'est que c'est plus rapide pour accéder aux différents éléments de ta bdd.. tester tes requêtes..créer les tables;.. ajouter des données..etc...