PHP|Débutant :: Forums

Advertisement

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

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

#1 09-08-2010 16:25:33

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

interrogation sur 2 tables

Bonjour à tous,
grâce à votre aide, mon projet est presque achevé.
je bute sur une page qui génère une liste xml.

j'ai deux tables" videos" et "motscle"
j'interroge la table video qui contient un champ id_mot.
le code fonctionne bien, et génère les bonnes listes mais elles sont nommées par le n° d'id.

Je souhaiterai le fichier généré porte le nom du champ "alias" de la table motscle.
en gros :

$mot=$row[alias];

Lorsque je tente

  $query = "SELECT * FROM video,motscle WHERE `id_mot` LIKE '%$mot%'  LIMIT 0, 30";
$result=mysql_query($query);
$num = mysql_num_rows($result);

if (!$result){print "Pas d'enregistrements trouvés";exit;}
while($row=mysql_fetch_array($result)){

suivi de

$query="SELECT id_mot,alias FROM motscle WHERE id_mot='$mot'";
$result2=MYSQL_QUERY($query) or die("Erreur de lecture dans la table organisateurs");
    while($row=MYSQL_FETCH_ROW($result2))
  {
  $alias=$row["alias"];

j'ai   

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in gene-liste.php on line 14
Pas d'enregistrements trouvés
$mot = isset($_POST['mot']) ? $_POST['mot'] : '';
if (($mot == "")||($mot == "%")) {
// Si aucun mot clé n'a été saisi,le script demande à l'utilisateur de bien vouloir préciser un mot clé
$msg="Veuillez entrer un mot clé s'il vous plaît!";

}else {            
 
  $query = "SELECT * FROM video WHERE `id_mot` LIKE '%$mot%'  LIMIT 0, 30";
$result=mysql_query($query);
$num = mysql_num_rows($result);

if (!$result){print "Pas d'enregistrements trouvés";exit;}
while($row=mysql_fetch_array($result)){
  $source_file=$row["nom"];

  $nombre=mysql_num_fields($result);

 /* indiquer $dest_file qui correspond au répertoire de destination */
  $dest_file="/video/";
  $dest_page="/video.php?";
  $ext1="flv";
  $ext2="jpg";
/* enlève un "\"  */
  //$source_file=("$nom");
 
  $link = ("$URL_site$dest_page$source_file");
  $mediacontent = ("$URL_site$dest_file$source_file.$ext1");
  $mediathumbnail = ("$URL_site$dest_file$source_file.$ext2");
$query="SELECT id_mot,alias FROM motscle WHERE id_mot='$mot'";
$result2=MYSQL_QUERY($query) or die("Erreur de lecture dans la table organisateurs");
    while($row=MYSQL_FETCH_ROW($result2))
  {
  $alias=$row["alias"];
// s'il y a des résultats  
if ($num != 0) {
      $file= fopen("../xml/$alias.xml", "w");
    $_xml .="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n";
  $_xml .="<rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\">\r\n";
  $_xml .="<channel>\r\n";
  $_xml .="<title>Example media RSS playlist for the JW Player</title>\r\n";
  $_xml .="<link>http://www.jeroenwijering.com</link>\r\n";   while ($row = mysql_fetch_array($result)) {
  //if ($row["item"]) {
  $_xml .="\t<item>\r\n";
  $_xml .="\t<id>" . $row["id"] . "</id>\r\n";
  $_xml .="\t\t<title>" . $row["title"] . "</title>\r\n";
  $_xml .="\t<media:content url=\"" . $mediacontent . "\" />\r\n";
  $_xml .="\t<media:thumbnail url=\"" . $mediathumbnail . "\" />\r\n";
  $_xml .="\t\t<description>" . $row["description"] . "</description>\r\n";
  $_xml .="\t\t<link>".$link."</link>\r\n";
  $_xml .="\t</item>\r\n";
  $_xml .="</channel>\r\n";
  $_xml .="</rss>\r\n";


        }

fwrite($file, $_xml);

?>
<table width="98%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><?php echo "<p></p><h1><br/><br/><u>Le fichier XML $alias a été créé <a href=\"../xml/$alias.xml\">ICI :).</u></a></h1><br/><br/>"; ?></td>
  </tr>
  <tr>
    <td align="center"><?php echo $msg ?></td>
  </tr>
</table>
<?php    
}
else {
   echo "erreur";
}  }}}
?>

Hors ligne

#2 09-08-2010 19:31:24

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : interrogation sur 2 tables

C'est bon, j'ai grugé en remplaçant "l'id_mot" de la table videos par le nom du mot

Hors ligne

Pied de page des forums