Petit problème d'affichage de 2 scripts

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Petit problème d'affichage de 2 scripts

par Tomcat92fr » 10 août 2005, 14:05

Merci j'ai vu ou était mon erreur
j'ai corrigé ca fonctionne
Et encore merci pour la rapidité de ta réponse

par Cyrano » 10 août 2005, 11:20

Le problème vien je pense de ce que tu fermes la connexion avant la seconde requête: comme tu ne reconnectes pas, la seconde requête ne peut pas être exécutée. J'ajouterais que pour une question de sûreté de code, tu ne devrais pas utiliser les mêmes noms de variable entre les deux opérations.

Proposition de corrigé :
<table width="580" border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td>
      <table width="280" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td>
<?php
$table0="recettes";
// sélectionne toutes les fiches de la table $table
$query1 = "SELECT * FROM ". $table0 ." ORDER BY `ref` DESC LIMIT 0 , 1 ";
$result1 = mysql_query($query1);
// tant qu'il y a des fiches
while ($val = mysql_fetch_array($result1))
{
    ?>
            <a href="recettes.php?id_recettes=<?php echo $val["ref"]; ?>"><?php echo $val["titre"]; ?></a>
          </td>
        </tr>
        <tr>
          <td>
    <?php
    //Fonction résumé de texte
    {
        $nbmots = '20';
        $resword = split(" ", $val["texte"], ($nbmots+1));
        for($i=0 ; $i < $nbmots ; $i++)
        {
            print "$resword[$i] ";
        }
        echo"...";
    }

?>
          </td>
        </tr>
        <tr>
          <td>
<?php
}
?>
          </td>
        </tr>
      </table>
    </td>
    <td width="290">
      <table width="280" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td>
<?php
$query2 = "SELECT * FROM news ORDER BY `date` DESC LIMIT 0 , 1 ";
$result2 = mysql_query($query2);
// tant qu'il y a des fiches
while ($val = mysql_fetch_array($result2))
{
    echo $val["date"];
    ?>
            &nbsp;<a href="news.php?id_news=<?php echo $val["ref"]; ?>"><?php echo $val["titre"]; ?></a>
          </td>
        </tr>
        <tr>
          <td>
    <?php
    //Fonction résumé de texte
    {
        $nbmots = '20';
        $resword = split(" ", $val["texte"], ($nbmots+1));
        for($i=0 ; $i < $nbmots ; $i++)
        {
            print "$resword[$i] ";
        }
        echo"...";
    }

?>
          </td>
        </tr>
        <tr>
          <td>
<?php
}
mysql_close();
?>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>

Petit problème d'affichage de 2 scripts

par tomcat92fr » 10 août 2005, 11:01

Bonjour,
Voilà cela fait plus de 6 mois que je n'ai pas mis le nez dans le PHP et j'ai un petit problème idiot

J'essaye sur ma page d'accueil de mettre la dernière news et la dernière recette pour ce faire je mets en place un script qui appel ma table news et un second qui appel ma table recette

Si je mets un script (l'un ou l'autre)ça fonctionne, mais les deux le premier s'affiche mais pas le second.

J'ai plusieurs pistes

1) je ne devrais pas fermer ma base à la fin du premier tableau -> si je le retire ca plante tout

2) plusieurs noms des 2 tables sont identiques si c'est ca j'ai toute ma base à refaire

Merci de me dire où je me suis planté et comment arriver a afficher la dernière news entrée et la dernière recette. Ci dessous le code

Code : Tout sélectionner

<table width="580" border="0" align="right" cellpadding="0" cellspacing="0"> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td><table width="280" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><? $table0="recettes"; // s&eacute;lectionne toutes les fiches de la table $table $query = "SELECT * FROM $table0 ORDER BY `ref` DESC LIMIT 0 , 1 "; $result = mysql_query($query); // tant qu'il y a des fiches while ($val = mysql_fetch_array($result)) { ?> <a href="recettes.php?id_recettes=<? echo $val["ref"]; ?>"><? echo $val["titre"]; ?></a></td> </tr> <tr> <td><? //Fonction r&eacute;sum&eacute; de texte { $nbmots = '20'; $resword = split(" ", $val["texte"], ($nbmots+1)); for($i=0 ; $i < $nbmots ; $i++) { print "$resword[$i] "; } echo"..."; } ?></td> </tr> <tr> <td><? } mysql_close(); ?></td> </tr> </table></td> <td width="290"><table width="280" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><? $query = "SELECT * FROM news ORDER BY `date` DESC LIMIT 0 , 1 "; $result = mysql_query($query); // tant qu'il y a des fiches while ($val = mysql_fetch_array($result)) { ?> <? echo $val["date"]; ?>&nbsp;<a href="news.php?id_news=<? echo $val["ref"]; ?>"><? echo $val["titre"]; ?></a></td> </tr> <tr> <td><? //Fonction r&eacute;sum&eacute; de texte { $nbmots = '20'; $resword = split(" ", $val["texte"], ($nbmots+1)); for($i=0 ; $i < $nbmots ; $i++) { print "$resword[$i] "; } echo"..."; } ?></td> </tr> <tr> <td><? } mysql_close(); ?></td> </tr> </table></td> </tr> </table>
[/code]