Salut à tous. Je suis en train de migrer mon site en PDO. Et j'ai un problème lors de l'insertion d'une nouvelles news ou d'un articles.
La page articles.php
<?php
/* Systeme de pagination*/
$sql = $bdd->query("SELECT COUNT(id) as nbArt FROM articles");
$req = ($sql) or die('Erreur SQL <br> Vérifier votre table');
$data= $sql->fetch();
$nbArt = $data'nbArt'];
$perPage = 8;
$nbPage= ceil($nbArt/$perPage);
if(isset($_GET'id']) && $_GET'id']>0 && $_GET'id']<=$nbPage){
$cPage = $_GET'id'];
}
else{
$cPage =1;
}
/**/
$sql = $bdd->query("SELECT * FROM articles, articles_options
WHERE articles_options.id = articles.articles_options_id LIMIT "
.(($cPage-1)*$perPage).",$perPage");
$req = ($sql) or die('Erreur SQL <br> Vérifier votre table');
?>
<br/>
<h1>Ajoutez un article</h1>
<form class="ad" method="post" action="add"/>
<label for="nom">Nom :</label>
<input type="text" name="nom" id="nom"/><br/>
<label for="dsc">Description :</label>
<textarea name="dsc" id="dsc" ></textarea><br/>
<label for="url">URL</label>
<input type="text" name="url" id="url"/><br/><br/><br/>
<label for="quantites">Quantités</label>
<input type="text" name="quantites" id="quantites"/><br/>
<label for="nom">Reference :</label>
<input type="text" name="ref" id="ref"/><br/>
<label for="images">Images :</label>
<input type="text" name="images" id="images"/><br/>
<label for="prix">Prix :</label>
<input type="text" name="prix" id="prix"/><br/>
<label for="dispo">Disponibilite</label>
<input type="text" name="dispo" id="dispo"/><br/>
<label for="poids">Poids</label>
<input type="text" name="poids" id="poids"/><br/>
<br/>
<input class="insert"type="submit" value="Inserez">
</form>
<h3>Articles existant</h3>
<?php
while($data = $sql->fetch()){
echo "<p>{$data"nom"]} ----- ";
echo "<a href=\"edit&id={$data"id"]}\">Modifier cette articles</a>";
echo " ----- <a href=\"suppr&id={$data"id"]}\">X</a>";
echo "</p>";
}
for($i=1;$i<=$nbPage;$i++){
if($i==$cPage){
echo " $i /";
}
else{
echo " <a href=\"articles&id=$i\">$i</a> /";
}
}
?>
Et la page add.php
<?php
extract($_POST);
$sql=$bdd->query("INSERT INTO articles_options (nom,dsc,url)
VALUES ('$nom','$dsc','$url')");
$req = ($sql) or die('Erreur SQL <br> Vérifier votre table');
$bdd->lastInsertId($id);
/*Ancienne valeur qui marchait bien avant PDO
$id = mysql_insert_id();
*/
$sql=$bdd->query("INSERT INTO articles (quantites,ref,images,prix,dispo,poids,articles_options_id)
VALUES ('$quantites','$ref','$images','$prix','$dispo','$poids','$id')");
$req = ($sql) or die('Erreur SQL <br> Vérifier votre table');
header("location: articles");
?>
L'insertion fonctionne. Mais le champs articles.articles_options_id ne prend plus la valeurs de articles_options.id.
mysql_insert_id semble devoir êtres remplacé par lastInsertID, mais je n'arrives pas à la faire fonctionner correctement.