conception d'une fonction

x@v
Mammouth du PHP | 570 Messages

17 juin 2007, 23:19

Bonjour,
j'ai trois fonctions qui me permettent d'afficher un formulaire, pour pouvoir soit modifier un article soit en ajouter un, j'ai un problème de conception avec cette fonction, je pense qu'il y a surement un meilleurs moten de la faire pour afficher le résultat d'une table:
////////////////////////////////////////////////////////////////////////
function obtenir_page_record($id)
{
require ("../inc/connexion.php");
  $requette ="select * from pages where id_article= $id";
  $resultat = mysql_query($requette, $lien) or mysql_error();
  $page = mysql_fetch_row($resultat);
$lien= 'nom de la page<input name="page" value="'.$page['0'].'" />';
$lien.= 'Description de la page<input name="description" value="'.$pages[1].'" />';
$id == $page[5];
  return $lien; 
}
///////////////////////////////////////////////////////////////////////
Elle me sert à aller cherche un résultat dans une table pour pouvoir l'afficher dans le formulaire.
Mais sa me retourne cette erreur lorsque je soumet le formulaire pour ajouter un article:

Code : Tout sélectionner

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/alain/admin/inc_admin/inc_fonction.php on line 478
////////////////////////////////////////////////////////////////////////
function obtenir_article_record($article)
{
require ("../inc/connexion.php");	
  $query = "select * from article where id = '$article'";
  $result =mysql_query($query, $lien) or mysql_error();
  return(mysql_fetch_assoc($result));
}
////////////////////////////////////////////////////////////////////////
function obtenir_page_record($id)
{
require ("../inc/connexion.php");
  $requette ="select * from pages where id_article= $id";
  $resultat = mysql_query($requette, $lien) or mysql_error();
  $page = mysql_fetch_row($resultat);
$lien= 'nom de la page<input name="page" value="'.$page['0'].'" />';
$lien.= 'Description de la page<input name="description" value="'.$pages[1].'" />';
$id == $page[5];
  return $lien; 
}
///////////////////////////////////////////////////////////////////////
function affiche_article()
{
// si l'article existe déjà
$dossier = obtenir_article_record($_REQUEST['article']);
require ("../inc/connexion.php");
if (isset($_REQUEST['article']))
{
	$article = obtenir_article_record($_REQUEST['article']);
}
echo $id_article['page'];
// sinon le créer
include("inc_admin/upload_admin.php"); ?>
<div id="article_boite">
<form action="article_envoye.php" method="post" enctype="multipart/form-data" name="nouveau">
<fieldset id="modification_fieldset">
<legend>Article</legend>

<input type="hidden" name="article" value="<?php echo $_REQUEST['article'];?>" />

<input type="hidden" name="destination" value="<?php echo $_SERVER['HTTP_REFERER'];?>" />

<h3>titre de l'article</h3>
<p><input name="titre" value="<?php echo $article['titre'];?>"></p>

<h3>Nom de la page</h3>
<?php echo obtenir_page_record($_REQUEST['article']);?>

<h3>Insérer votre page ici</h3>
<div id="contour_article_textarea">
<textarea id="textarea_article" name="article_text"><?php echo stripslashes($article['article_text']);?>
</textarea>
</div><br>

<p style="text-align:left;"><strong>Auteur de cette page</strong></p >
<p><input name="ecrivain" size="40" value="<?php echo $article['ecrivain'];?>"></p>

<p><input type="submit" value="Enregister votre contribution"><p>

</fieldset></form></div>
<?php
}
///////////////////////////////////////////////////////////////////////////
thx

edit ->
je vais m'expliquer mieux que ça :
si je modifie l'article c'ette méthode fonctionne mais si j'en ajoute un sa ne peux pas fonctionner puisque la fonction en cause, ne s'affiche pas parceque j'ai mélanger l'html et le php
function obtenir_page_record($id)
{
require ("../inc/connexion.php");
  $requette ="select * from pages where id_article= $id";
  $resultat = mysql_query($requette, $lien) or mysql_error();
  list($page, $description, $rubrique, $date, $id_article)  = mysql_fetch_row($resultat);
  $lien= 'nom de la page<input name="page" value="'.$page.'" />';
  $lien.= 'Description de la page<input name="description" value="'.$description.'" />';
  $id == $id_article;
  return $lien;
}
et oui parce que je test cela si l'id de l'article existe j'affiche la fonction sinon rien ou je peux refaire une fonction, mais je trouve ce moyen lourd ?

edit ->
Bon j'ai trouvé
<?php 
 if(isset($_REQUEST['article'])) {
   $requette ="select * from pages";
   $resultat = mysql_query($requette, $lien) or mysql_error();
   list($page, $description, $rubrique, $date, $id_article) = mysql_fetch_row($resultat);
}
?>
   nom de la page<input name="page" value="<?php echo $page;?>" />
   Description de la page<input name="description" value="<?php echo $description;?>" />