PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Afficher un tableau avec une boucle while » 17-05-2010 08:41:14

rimbaut
Réponses : 1

Bonsoir à tous,
Voici mon problème. J'ai 3 pages ; une page où se trouve un formulaire dont je récupère les champs sur la page inscription et avec laquelle j'enregistre les données de l'utilisateur. La 3e page affiche une première question. Une question est composé de 4 mots. Chaque mot figure sur une ligne et dans une colonne. Tous les mots sont dans la table "mot" qui comprend 9 lignes et 4 colonnes donc 36 mots.

La 1er ligne correspond à la 1er question. Donc j'ai réussi à afficher les 4 mots mais il s'affiche de façon verticale c'est à dire sur la colonne 1. Or les 4 mots doivent s'afficher dans les 4 colonnes. Ce qui n'est pas le cas puisque comme je le disais, ils s'affichent verticalement sur la colonne 1.

Voici le code :


<?php
session_start();
//print_r($_SESSION);
extract($_SESSION);


/*
if(!array_key-exists("idUser", $_SESSION)) {
   header("Location : form.php");
   }
 */

 
 /*
  if(isset($_SESSION['idQuestion'])) {
      echo 'La variable "idQuestion" existe et vaut: ' . $_SESSION["idQuestion"];
    echo 'Lavariable "idUser" existe et vaut: ' . $_SESSION["idUser"];
    exit;
    }  
*/

//connexion au serveur
     $host = "localhost";
     $user = "root";
     $pass = "";

     $connexion=@mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());

//connexion à la BD
   $bd = "profilapprenant";
   @mysql_select_db($bd, $connexion) or die ("selection impossible:".mysql_error());
   
   
//Requete selection
$query='SELECT * from mot WHERE
                 ligne = "'
.$numQuestion.'" ORDER BY colonne ASC';
 
//On envoie la requete       
$result=mysql_query($query) or die("La requete a échoué:".mysql_error());


// début du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";

  // première ligne on affiche les titres des colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Colonne 1</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Colonne 2</u></b></td>';
      echo '<td bgcolor="#669999"><b><u>Colonne 3</u></b></td>';
      echo '<td bgcolor="#669999"><b><u>Colonne 4</u></b></td>';
        echo '</tr>'."\n";
   
 while($var=mysql_fetch_array($result)){
    extract($var);
 
  echo '<tr>';
        echo '<tr><td bgcolor=\"#CCCCCC\">'.$var['mot'].'</td></tr>';
       
    //    echo '</tr>'."\n";

   }
    echo '</table>'."\n";
    // fin du tableau.

/*
 while($var=mysql_fetch_array($result)){
    extract($var);
  echo "<input type=\"text\" name=\"score[idMot]\" size=\"2\"/>";
*/
 
  echo "<br>";
 
  echo "<input type=\"submit\" value=\"Envoyer\"/>";
 
?>
 

Quelqu'un peut il m'aider à résoudre ce problème ?

Merci d'avance

#3 Re : Forum Général PHP » [Résolu] Variable de session non définie » 16-05-2010 09:44:19

Bonjour à tous,
Voici le code où je récupère les 2 variables de session :


<?php
session_start();
extract($_SESSION);
/*
if(!array_key-exists("idUser", $_SESSION)) {
   header("Location : form.php");
   }
 */

  if(isset($_SESSION['idQuestion'])) {
      echo 'La variable "idQuestion" existe et vaut: ' . $_SESSION["idQuestion"];
    exit;
    }  
//connexion au serveur
     $host = "localhost";
     $user = "root";
     $pass = "";
 
     $connexion=@mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
 
//connexion à la BD
   $bd = "profilapprenant";
   @mysql_select_db($bd, $connexion) or die ("selection impossible:".mysql_error());
   
//Requete selection
$query="select * from mot where
                 ligne = $numQuestion order by colonne asc"
;
         
$result=mysql_query($query) or die("La requete a échoué:".mysql_error());
 
 while($var=mysql_fetch_array($result)){
    extract($var);
  echo "$mot<input type=\"text\" name=\"score[idMot]\" size=\"2\"/>";
  }
 
  echo "<input type=\"submit\" value=\"Envoyer\"/>";
 
?>
 

Merci à toute personne qui voudra bien m'aider

#4 Forum Général PHP » [Résolu] Variable de session non définie » 16-05-2010 09:44:19

rimbaut
Réponses : 3

Bonsoir à tous,
Je sais je monopolise le forum mais bon quand on ne sait pas on demande....

Voila dans mon code j'ai défini 2 variables de session et je fais une redirection vers une page question.php. Dans cette nouvelle page si la 1e variable est bien définie, la 2ième ne l'est pas. J'ai fait un test pour m'en assurer et il renvoie false.

Voici le code :


$numIndividu = mysql_insert_id();

//Ceation d'une variable pour le numero de question
$numQuestion = 1;

$_SESSION["idUser"]=$numIndividu;
$_SESSION["idQuestion"]=$numQuestion;

header("Location: question.php");
 

Je ne comprends pas la raison pourquoi $_SESSION["idUser"] fonctionne et pas $_SESSION["idQuestion"]

SI quelqu'un peut m'expliquer je l'en remercie d'avance

#6 Re : Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

J'ai mis les simples quotes et toujours l'erreur :
La requete a échoué:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'Dupond', 'Jean', CURDATE(), STR_TO_DATE('30-08-1975' , '%d/%m/%Y'), '8')' at line 2

Voici la requête :


//On effectue la requete
$query = "INSERT INTO individu (numIndividu, nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
'"
. mysql_real_escape_string('') ."',,
'"
. mysql_real_escape_string($nom) ."',
'"
. mysql_real_escape_string($prenom) ."',
CURDATE(),
STR_TO_DATE('"
. mysql_real_escape_string($_POST['laDateNaissance']) ."'
, '%d/%m/%Y'),
'"
. mysql_real_escape_string($niveauBac) ."')";
 

#7 Re : Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

J'ai modifié la ligne et voici l'erreur qui s'affiche :
La requete a échoué:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'Dupond', 'Jean', CURDATE(), STR_TO_DATE('30-08-1975' , '%d/%m/%Y'), '8')' at line 2

#8 Re : Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

Si je ne mets que les "" j'ai un parse error sur cette ligne. Voici la ligne :
$query = "INSERT INTO individu (numIndividu, nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
"",

#9 Re : Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

Je l'ai affiché dans la BD avec null = non. Est ce qu tu penses que ça vient de la ?
Sinon d'après toi d'où cela peut venir ?

Merci pour ton aide

#10 Re : Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

Merci pour ta réponse. Le format de la date saisie dans le formulaire est : jrs, mois, aaaa, soit 16-05-2010

#11 Forum Général PHP » [Résolu] Problème dans une requete mysql en php » 15-05-2010 20:42:37

rimbaut
Réponses : 12

Bonsoir à tous,
J'ai créer un formulaire dans une page qui s'appelle form.php et je souhaire récupérer les valeurs de ce formulaire dans une autre page qui se nomme inscription.php.

Le problème est que j'ai une erreur que voici :

Notice: Undefined index: in C:\wamp\www\SP1_Kolb\inscription.php  on line 43
La requete a échoué:Column 'dateNaissance' cannot be null

Je pense que le rpoblème provient de la saisie de la date dans le formulaire qui se fait au format français alors que dans mysql c'est un format us.

Je vous soumets le code :

<?php
//On demarre les sessions
session_start();
session_destroy();
session_start();

// On commence par récupérer les champs
if(isset($_POST['leNom']))      $nom=$_POST['leNom'];
else      $nom="";

if(isset($_POST['lePrenom']))      $prenom=$_POST['lePrenom'];
else      $prenom="";

if(isset($_POST['laDateNaissance']))      $dateNaissance=$_POST['laDateNaissance'];
else      $dateNaissance="";

if(isset($_POST['leNiveauBac']))      $niveauBac=$_POST['leNiveauBac'];
else      $niveauBac="";

// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($dateNaissance) OR empty($niveauBac))
    {
    echo '<font color="red">Attention, tous les champs doivent être saisies !</font>';
    }

// Aucun champ n'est vide, on peut enregistrer dans la table
else    
    {
     //connexion au serveur
     $host = "localhost";
     $user = "root";
     $pass = "";

     $connexion=@mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
    }

//connexion à la BD
$bd = "profilapprenant";
@mysql_select_db($bd, $connexion) or die ("selection impossible:".mysql_error());
   
//On effectue la requete
$query = "INSERT INTO individu (numIndividu, nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
'"
. mysql_real_escape_string($_POST['']) ."',
'"
. mysql_real_escape_string($nom) ."',
'"
. mysql_real_escape_string($prenom) ."',
CURDATE(),
STR_TO_DATE('"
. mysql_real_escape_string($dateNaissance) ."'
, \"%Y/%m/%d\"),
'"
. mysql_real_escape_string($niveauBac) ."')";
 
//On insère les données du formulaire dans la table  
$result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
 
// on affiche le résultat pour le visiteur
    echo 'Vos infos on été ajoutées.';

$numIndividu = mysql_insert_id();

$_SESSION["idUser"]=$numIndividu;

header("Location: question.php");


?>
 

Si quelqu'un peut m'aider car ça fait un moment que je galère, je l'en remercie vivement

Pied de page des forums

Propulsé par FluxBB