Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2

valou078
Invité n'ayant pas de compte PHPfrance

20 avr. 2012, 17:50

voici mon probleme
Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in C:\Program Files\EasyPHP-5.3.8.1\www\Noel\marie.php on line 66
Pouvez vous m'aider je ne comprend pas bien ce que je rate
Merce

Code : Tout sélectionner

<?php //connection au serveur $link = mysqli_connect('localhost', 'root', '', 'noel') or die('Impossible de se connecter : ' . mysqli_error()); //sélection de la base de données: mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees'); //mysqli_query($link,'SET NAMES "utf8"'); //récupération des valeurs des champs: //titre: $titre = $_POST["titre"] ; //contenu: $contenu = $_POST["contenu"] ; //famille: $famille = $_POST["famille"] ; //création de la requête SQL: INSERT INTO $sql = "INSERT INTO marie (id, titre, contenu, famille) VALUES ( ' ', '$titre', '$contenu', '$famille') " ; //exécution de la requête SQL: $resultat = mysqli_query($link, $sql) or die('Echec de la requete : '. mysqli_error()) ; //$r = mysqli_query($dbc,$qry) or die("Error: ".mysqli_error($dbc)); //affichage des résultats, pour savoir si l'insertion a marchée: if($resultat) { echo("L'insertion a &eacute;t&eacute; correctement effectu&eacute;e."." Merci a vous") ; } else { echo("L'insertion &agrave; &eacute;chou&eacute;e") ; } ?> <!----HTML-------> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Liste de MARIE</title> </head> <body> <form id="listeMarie" action="" method="post"> <fieldset> <legend><h3>Liste de la BDD Noel et de la Table MARIE</h3></legend> <table border="1" cellpadding="10" cellspacing="0" width="100%"> <thead> <tr> <th>numero</th> <th>Nom du jouer choisi</th> <th>Commentaire sur le jouer ou le magasin</th> <th>Famille</th> </tr> </thead> <?php //----3-afficher les resultat de la requete sous forme de tableau avec fetch() while ($donnees = mysqli_fetch_assoc($resultat, MYSQLI_ASSOC)){ ?> <tr> <td width="5%"><?php echo $donnees['id']; ?></td> <td width="20%"><?php echo $donnees['titre']; ?></td> <td width="30%"><?php echo $donnees['contenu']; ?></td> <td width="10%"><?php echo $donnees['famille']; ?></td> </tr> <?php //----4-Termine le traitement de la requete liberer les ressources mysqli_free_result($resultat); } //echo "<p>$resultat</p>" ; ?> </table> </br> <a href="insert.php">Ajouter des jouers a la liste : </a> </fieldset> </form> <p>&nbsp;</p> </body> </html>

ViPHP
xTG
ViPHP | 7331 Messages

20 avr. 2012, 18:38

Le message d'erreur parle de lui même.
La fonction attend un paramètre, tu lui en passes deux !
Regardes la documentation de la fonction pour résoudre ton problème. ;)

valou078
Invité n'ayant pas de compte PHPfrance

20 avr. 2012, 18:49

Voila maintenant j'ai ce message d'erreur que je ne sais pas identifier ou comprendre

Code : Tout sélectionner

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\Program Files\EasyPHP-5.3.8.1\www\Noel\marie.php on line 66
Merci de m'aider

Code : Tout sélectionner

<?php //connection au serveur $link = mysqli_connect('localhost', 'root', '', 'noel') or die('Impossible de se connecter : ' . mysqli_error()); //sélection de la base de données: mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees'); //mysqli_query($link,'SET NAMES "utf8"'); //récupération des valeurs des champs: //titre: $titre = $_POST["titre"] ; //contenu: $contenu = $_POST["contenu"] ; //famille: $famille = $_POST["famille"] ; //création de la requête SQL: INSERT INTO $sql = "INSERT INTO marie (id, titre, contenu, famille) VALUES ( '', '$titre', '$contenu', '$famille') " ; //exécution de la requête SQL: $resultat = mysqli_query($link, $sql) or die('Echec de la requete : '. mysqli_error()) ; //$r = mysqli_query($dbc,$qry) or die("Error: ".mysqli_error($dbc)); //affichage des résultats, pour savoir si l'insertion a marchée: if($resultat) { echo("L'insertion a &eacute;t&eacute; correctement effectu&eacute;e."." Merci a vous") ; } else { echo("L'insertion &agrave; &eacute;chou&eacute;e") ; } ?> <!----HTML-------> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Liste de MARIE</title> </head> <body> <form id="listeMarie" action="" method="post"> <fieldset> <legend><h3>Liste de la BDD Noel et de la Table MARIE</h3></legend> <table border="1" cellpadding="10" cellspacing="0" width="100%"> <thead> <tr> <th>numero</th> <th>Nom du jouer choisi</th> <th>Commentaire sur le jouer ou le magasin</th> <th>Famille</th> </tr> </thead> <?php //----3-afficher les resultat de la requete sous forme de tableau avec fetch() while ($donnees = mysqli_fetch_assoc($resultat)){ ?> <tr> <td width="5%"><?php echo $donnees['id']; ?></td> <td width="20%"><?php echo $donnees['titre']; ?></td> <td width="30%"><?php echo $donnees['contenu']; ?></td> <td width="10%"><?php echo $donnees['famille']; ?></td> </tr> <?php //----4-Termine le traitement de la requete liberer les ressources mysqli_free_result($resultat); } ?> </table> </br> <a href="insert.php">Ajouter des jouers a la liste : </a> </fieldset> </form> <p>&nbsp;</p> </body> </html>

ViPHP
ViPHP | 2577 Messages

20 avr. 2012, 18:55

$resultat est le résultat d'un insert.
un fetch se fait sur un select

valou078
Invité n'ayant pas de compte PHPfrance

20 avr. 2012, 19:08

Je n'ai pas bien compris ce que tu essais de me faire comprendre
un exemple serait peut etre parlant pour moi Merci

ViPHP
xTG
ViPHP | 7331 Messages

20 avr. 2012, 19:19

La documentation... Si tu savais combien de problèmes on peut résoudre en y jetant un oeil. ^^
A la page de mysqli_fetch() on trouve que c'est un alias de http://fr.php.net/manual/fr/mysqli-stmt.fetch.php
Et sur cette dernière page on trouve un exemple complet de comment faire une requête et récupérer son résultat. :)

La doc ! Toute une technique ! Tout un pouvoir enfoui dedans ! Tant de grandeur !

valou078
Invité n'ayant pas de compte PHPfrance

20 avr. 2012, 19:21

Merci pour le lien

ViPHP
ViPHP | 2577 Messages

20 avr. 2012, 20:39

$sql = "INSERT  INTO marie (id, titre, contenu, famille)
          VALUES ( '', '$titre', '$contenu', '$famille') " ;
.. 
$resultat = mysqli_query($link, $sql) or die('Echec de la requete : '. mysqli_error()) ;
...
while ($donnees = mysqli_fetch_assoc($resultat)){ 
Voila le cheminement qui ne va pas, $resultat fait référence à une ordre sql de type insert.

valou078
Invité n'ayant pas de compte PHPfrance

21 avr. 2012, 13:49

j' ai beau regarder mais je seche
mon erreur est un peu differente

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\Program Files\EasyPHP-5.3.8.1\www\Noel\marie.php on line 24
ERR SQL :
INSERT INTO marie (id, titre, contenu, famille)
VALUES ( '', 'b', 'b', 'h') 
Merci de m'aider

Mammouth du PHP | 2278 Messages

21 avr. 2012, 14:30

Mysql_query exécutant un insert rend un booléen et non pas une ressource comme l'attend mysqli_fetch_assoc. Tu ne peux donc pas exploiter directement
$resultat = mysql_query...('Insert....');
Il va falloir passer par qqch du genre
if ($resultat)
$ressource = mysql_query('Select...');
mysqli_fetch_assoc($ressource)
}
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
ViPHP | 2577 Messages

21 avr. 2012, 15:04

j' ai beau regarder mais je seche
mon erreur est un peu differente

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\Program Files\EasyPHP-5.3.8.1\www\Noel\marie.php on line 24
ERR SQL :
INSERT INTO marie (id, titre, contenu, famille)
VALUES ( '', 'b', 'b', 'h') 
Merci de m'aider
mysqli_error() a besoin d'un paramettre, c'est la valeur retournée par mysqli_connect()

regarde : http://php.net/manual/fr/mysqli.error.php

valou078
Invité n'ayant pas de compte PHPfrance

21 avr. 2012, 16:56

j'ai avancé j'affiche ma table mais impossible d'ecrire les elements poster dans ma table marie
Merci de l'aide
---------page Marie.php----------------
<?php
session_start();
//connection au serveur<br />
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
 
//sélection de la base de données:<br />
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');
//Norme UTF8
mysqli_query($link,"SET NAMES UTF8");

//récupération des valeurs des champs:<br />
//titre:<br />
$titre = $_POST['titre'];
//contenu:<br />
$contenu = $_POST['contenu'];
//famille:<br />
$famille = $_POST['famille'];

//création de la requête SQL: INSERT INTO<br />
//$sql = "INSERT INTO marie (id, titre, contenu, famille) 
//	VALUES ('','".$titre."', '".$contenu."', '".$famille."')";

//exécution de la requête SQL:<br />	
$query ='SELECT id,titre, contenu, famille FROM marie'; 
$resultat = mysqli_query($link,$query) or die("ERR SQL :<br/>" . $sql . "<br />".mysqli_error());

//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat){ 
    echo("L'insertion a été correctement effectuée."." Merci a vous") ;
  }
  else{
    echo("L'insertion à échouée") ;
  }
  
?>


<!----HTML------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Liste de MARIE</title>
</head>

<body>

<form id="listeMarie" action="" method="post">
<fieldset>
<legend><h3>Liste de la BDD Noel et de la Table MARIE</h3></legend>

<table border="1" cellpadding="10" cellspacing="0" width="100%">
<thead>
<tr>
<th>numero</th>
<th>Nom du jouer choisi</th>
<th>Commentaire sur le jouer ou le magasin</th>
<th>Famille</th>
</tr>
</thead>
<?php 

//----3-afficher les resultat de la requete sous forme de tableau avec fetch()<br />
while( $donnees = mysqli_fetch_assoc($resultat) ){

?>
<tr>
<td width="5%"> <?php echo $donnees['id']; ?> </td>
<td width="20%"> <?php echo $donnees['titre']; ?> </td>
<td width="30%"> <?php echo $donnees['contenu']; ?> </td>
<td width="10%"> <?php echo $donnees['famille']; ?> </td>
</tr>
<?php

}
//----4-Termine le traitement de la requete liberer les ressources<br />
mysqli_free_result($resultat); 


?>

</table>
</br>

<a href="insert.php">Ajouter des jouers a la liste : </a>
</fieldset>
</form>

<p> </p>

</body>
</html>

---------------Page insert.php------------------
<?php
session_start();
error_reporting(E_ALL | E_STRICT);

// On place dans une variable l'id transmit dans l'url

//serveur=>localhost, 
//utilisateur=>root, 
//mot_de_passe=>' ', 
//nom de la base=>noel,

//-----Connexion Serveur
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
//echo 'Connexion ok'.'<br>';

//----1-Connection a la base de donnée noel--------
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');

//----2-Recuperation des valeur champs du formulaire------
if(isset($_POST['valider'])) {
$id= $_POST['id'];
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$famille = $_POST['famille'];

//----3-requete pour selectionner la table "marie" dans la $bdd noel-----------
//---- INSERT INTO (insertion dans la bdd-----
$query2 = "INSERT INTO marie('id', 'titre', 'contenu','famille')
			VALUES('','$titre', '$contenu', '$famille')";

//echo 'le jeu a bien ete enregistrer';

//----4-execution de la requete---- 
$resultat2 = mysqli_query($link,$query2) or die('Echec de la requete : ' . mysqli_error());

//----5-affichage des résultats, pour savoir si l'insertion a marchée:
if($resultat2){
		echo("L'insertion a &eacute;t&eacute; correctement effectu&eacute;e. Merci.");
	  }
	  else{
		echo("L'insertion &agrave; &egrave;chou&eacute;e");
	  }
}

?>

<!----HTML------->
<!---FORMULAIRE INSERTION----------------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creation de liste</title>
</head>

<body>
<fieldset>
<legend><h3>Insertion d'une ligne a la table Marie</h3></legend>	
<form name="insertion" action="marie.php" method="POST">
  <table border="0" cellspacing="2" cellpadding="2">
    <tr ><td>titre</td>
	<td><input type="text" name="titre"></td>
    </tr>
    <tr><td>contenu</td>
      <td><input type="text" name="contenu"></td>
    </tr>
    <tr><td>famille</td>
      <td><input type="text" name="famille"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="valider"></td>
    </tr>
  </table>
</form>
</fieldset>
<!---FIN DU FORMULAIRE INSERTION------------------->


</body>
</html>

valou078
Invité n'ayant pas de compte PHPfrance

22 avr. 2012, 09:29

Ca y est j'arrive a passer mes information de la page insert.php a marie.php est a les enregistrer dans ma table "marie"
Le problème c'est que lorsque j'affiche la page marie je ne peut les voir que si je fais un F5
Existe t-il une façon de pallier a ce bug. Merci

---------------Page Insert.php--------------------------
<?php
session_start();
error_reporting(E_ALL | E_STRICT);

//serveur=>localhost, 
//utilisateur=>root, 
//mot_de_passe=>' ', 
//nom de la base=>noel,

//-----Connexion Serveur
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
//echo 'Connexion ok'.'<br>';

//----1-Connection a la base de donnée noel--------
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');

//----2-Recuperation des valeur champs du formulaire------
if(isset($_POST['valider'])) {
$id= $_POST['id'];
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$famille = $_POST['famille'];

//----3-requete pour selectionner la table "marie" dans la $bdd noel-----------
//---- INSERT INTO (insertion dans la bdd-----
//création de la requête SQL: INSERT INTO<br /> 

$query2 = "INSERT INTO marie(id, titre, contenu,famille)
			VALUES('','$titre', '$contenu', '$famille')";
// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$resultat2=mysqli_query ($link,$query2) or die ('Erreur SQL !'.$query2.'<br />'.mysqli_error());  
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat2){ 
    echo("L'insertion dans la bdd a été correctment faite."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'insertion dans la bdd et la table marie, à échouée".'<br>') ;
  }
}
//----4-Termine le traitement de la requete liberer les ressources<br />
mysqli_free_result ($resultat2); 
?>

<!----HTML------->
<!---FORMULAIRE INSERTION----------------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creation de liste</title>
</head>

<body>
<fieldset>
<legend><h3>Insertion d'une ligne a la table Marie</h3></legend>	
<form name="insertion" action="marie.php" method="POST">
  <table border="0" cellspacing="2" cellpadding="2">
    <tr ><td>titre</td>
	<td><input type="text" name="titre"></td>
    </tr>
    <tr><td>contenu</td>
      <td><input type="text" name="contenu"></td>
    </tr>
    <tr><td>famille</td>
      <td><input type="text" name="famille"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="valider"></td>
    </tr>
  </table>
</form>
</fieldset>
<!---FIN DU FORMULAIRE INSERTION------------------->

</body>
</html>
--------------Marie.php-------------------------------
<?php
session_start();

//connection au serveur<br />
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
//sélection de la base de données:<br />
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');
//Norme UTF8
mysqli_query($link,"SET NAMES UTF8");

//récupération des valeurs des champs:<br />
//titre:<br />
$titre = $_POST['titre'];
//contenu:<br />
$contenu = $_POST['contenu'];
//famille:<br />
$famille = $_POST['famille'];



//AFFICHAGE DE LA TABLE 'MARIE' exécution de la requête SQL:<br />
$query ='SELECT id, titre, contenu, famille FROM marie'; 
$resultat = mysqli_query($link,$query) or die("ERR SQL :<br/>" . $query . "<br />".mysqli_error());
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat){ 
    echo("L'affichage de la table marie, a été correctement effectu&eacute;e."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'affichage de la table marie, à échouée".'<br>') ;
  }
  
//---- INSERT INTO (insertion dans la bdd-----  
//création de la requête SQL: INSERT INTO<br /> 
$query2 = "INSERT INTO marie(id, titre, contenu,famille)
			VALUES('','$titre', '$contenu', '$famille')";
// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$resultat2=mysqli_query ($link,$query2) or die ('Erreur SQL !'.$query2.'<br />'.mysqli_error());  
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat2){ 
    echo("L'insertion dans la bdd a été correctment faite."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'insertion dans la bdd et la table marie, à échouée".'<br>') ;
  }
?>

<!----HTML------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Liste de MARIE</title>
</head>

<body>

<form id="listeMarie" action="" method="post">
<fieldset>
<legend><h3>Liste de la BDD Noel et de la Table MARIE</h3></legend>

<table border="1" cellpadding="10" cellspacing="0" width="100%">
<thead>
<tr>
<th>numero</th>
<th>Nom du jouer choisi</th>
<th>Commentaire sur le jouer ou le magasin</th>
<th>Famille</th>
</tr>
</thead>
<?php 

//----3-afficher les resultat de la requete sous forme de tableau avec fetch()<br />

while($donnees = mysqli_fetch_array($resultat, MYSQL_ASSOC)){

?>
<tr>
<td width="5%"> <?php echo $donnees['id']; ?> </td>
<td width="20%"> <?php echo $donnees['titre']; ?> </td>
<td width="30%"> <?php echo $donnees['contenu']; ?> </td>
<td width="10%"> <?php echo $donnees['famille']; ?> </td>
</tr>
<?php

}
//----4-Termine le traitement de la requete liberer les ressources<br />
mysqli_free_result($resultat); 

?>

</table>
</br>

<a href="insert.php">Ajouter des jouers a la liste : </a>
</fieldset>
</form>

<p> </p>

</body>
</html>

ViPHP
xTG
ViPHP | 7331 Messages

22 avr. 2012, 11:41

C'est pas un bug... C'est ce que tu as codé qui occasionne cela.

Tu récupères le contenu de la table (Select) avant de faire l'insertion (insert).
Donc ce que tu affiches n'est pas à jour.
Il suffit de déplacer le select après le insert pour avoir ce que tu veux.

valou078
Invité n'ayant pas de compte PHPfrance

22 avr. 2012, 15:59

Merci xTG maintenant cela fonctionne

-------Code Final-------------
-------marie.php-------------
<?php
session_start();

//connection au serveur<br />
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
//sélection de la base de données:<br />
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');
//Norme UTF8
mysqli_query($link,"SET NAMES UTF8");

//----2-récupération des valeurs des champs:<br />----
//titre:<br />
$titre = $_POST['titre'];
//contenu:<br />
$contenu = $_POST['contenu'];
//famille:<br />
$famille = $_POST['famille'];

//----3-INSERT INTO (insertion dans la bdd-----  
//création de la requête SQL: INSERT INTO<br /> 
$query2 = "INSERT INTO marie(id, titre, contenu,famille)
			VALUES('','$titre', '$contenu', '$famille')";
// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$resultat2=mysqli_query ($link,$query2) or die ('Erreur SQL !'.$query2.'<br />'.mysqli_error());  
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat2){ 
    echo("L'insertion dans la bdd a été correctment faite."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'insertion dans la bdd et la table marie, à échouée".'<br>') ;
  }

//----4-AFFICHAGE DE LA TABLE 'MARIE' exécution de la requête SQL:<br />----
$query ='SELECT id, titre, contenu, famille FROM marie'; 
$resultat = mysqli_query($link,$query) or die("ERR SQL :<br/>" . $query . "<br />".mysqli_error());
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat){ 
    echo("L'affichage de la table marie, a été correctement effectu&eacute;e."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'affichage de la table marie, à échouée".'<br>') ;
  }
?>

<!----HTML------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="EXPIRES" content="0">
<meta http-equiv="Pragma" content="no-cache">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Liste de MARIE</title>
</head>

<body>

<form id="listeMarie" action="" method="post">
<fieldset>
<legend><h3>Liste de la BDD Noel et de la Table MARIE</h3></legend>

<table border="1" cellpadding="10" cellspacing="0" width="100%">
<thead>
<tr>
<th>numero</th>
<th>Nom du jouer choisi</th>
<th>Commentaire sur le jouer ou le magasin</th>
<th>Famille</th>
</tr>
</thead>
<?php 

//----3-afficher les resultat de la requete sous forme de tableau avec fetch()<br />

while($donnees = mysqli_fetch_array($resultat, MYSQL_ASSOC)){

?>
<tr>
<td width="5%"> <?php echo $donnees['id']; ?> </td>
<td width="20%"> <?php echo $donnees['titre']; ?> </td>
<td width="30%"> <?php echo $donnees['contenu']; ?> </td>
<td width="10%"> <?php echo $donnees['famille']; ?> </td>
</tr>
<?php

}
//----4-Termine le traitement de la requete liberer les ressources<br />
mysqli_free_result($resultat); 

?>

</table>
</br>

<a href="insert.php">Ajouter des jouers a la liste : </a>
</fieldset>
</form>

<p> </p>

</body>
</html>
---------insert.php--------------
<?php
session_start();
error_reporting(E_ALL | E_STRICT);

//serveur=>localhost, 
//utilisateur=>root, 
//mot_de_passe=>' ', 
//nom de la base=>noel,

//-----Connexion Serveur
$link = mysqli_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysqli_error());
//echo 'Connexion ok'.'<br>';

//----1-Connection a la base de donnée noel--------
mysqli_select_db($link,'noel') or die('Impossible de selectionner la base de donnees');

//----2-Recuperation des valeur champs du formulaire------
if(isset($_POST['valider'])) {
$id= $_POST['id'];
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$famille = $_POST['famille'];


//----3-requete pour selectionner la table "marie" dans la $bdd noel-----------
//---- INSERT INTO (insertion dans la bdd-----

$query2 = "INSERT INTO marie(id, titre, contenu,famille)
			VALUES('','$titre', '$contenu', '$famille')";
// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$resultat2=mysqli_query ($link,$query2) or die ('Erreur SQL !'.$query2.'<br />'.mysqli_error());  
//affichage des résultats, pour savoir si l'insertion a marchée:<br />
if($resultat2){ 
    echo("L'insertion dans la bdd a été correctment faite."." Merci a vous".'<br>') ;
  }
  else{
    echo("L'insertion dans la bdd et la table marie, à échouée".'<br>') ;
  }
}

?>

<!----HTML------->
<!---FORMULAIRE INSERTION----------------->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creation de liste</title>
</head>

<body>
<fieldset>
<legend><h3>Insertion d'une ligne a la table Marie</h3></legend>	
<form name="insertion" action="marie.php" method="POST">
  <table border="0" cellspacing="2" cellpadding="2">
    <tr ><td>titre</td>
	<td><input type="text" name="titre"></td>
    </tr>
    <tr><td>contenu</td>
      <td><input type="text" name="contenu"></td>
    </tr>
    <tr><td>famille</td>
      <td><input type="text" name="famille"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="valider"></td>
    </tr>
  </table>
</form>
</fieldset>
<!---FIN DU FORMULAIRE INSERTION------------------->

</body>
</html>