[Php] Etaler une requete sur plusieurs page [Resolu] - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [Php] Etaler une requete sur plusieurs page [Resolu]
 
Profil : IDNaute
Plus d'informations

Bonjour,

J'aurais besoin d'aide si vous avez un peut de temps a me consacrer j'ai tester la portion de code de gn2 mais sa ne marche pas enfin le probleme vient surement de moi c'est même sur lol pourriez vous me corriger en m'expliquant mes erreurs

Code :
  1. <?php
  2. // BBcode
  3. function bbcode($resume) {
  4.     $resume = preg_replace("#\[img]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img]#sie", "'<img src=\\1' . str_replace(' ', '%20', '\\3') . '>'", $resume);
  5.     $resume = preg_replace("#\[url\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/url\]#sie", "'<a href=\"\\1' . str_replace(' ', '%20', '\\3') . '\" target=blank>\\1\\3</a>'", $resume);
  6.     $resume = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=$1>$2</a>", $resume);
  7.     $resume = preg_replace("/\[url2=(.+?)\](.+?)\[\/url2\]/", "<a href=$1 target=blank>$2</a>", $resume);
  8.     $resume = preg_replace("#\[b\](.+?)\[\/b\]#", "<b>$1</b>", $resume);
  9.     $resume = preg_replace("#\[i\](.+?)\[\/i\]#", "<i>$1</i>", $resume);
  10.     $resume = preg_replace("#\[u\](.+?)\[\/u\]#", "<u>$1</u>", $resume);
  11.     $resume = preg_replace("#\[s\](.+?)\[\/s\]#", "<s>$1</s>", $resume);
  12.     $resume = preg_replace("#\[left\](.+?)\[\/left\]#", "<div align=\"left\">$1</div>", $resume);
  13.     $resume = preg_replace("#\[center\](.+?)\[\/center\]#", "<div align=\"center\">$1</div>", $resume);
  14.     $resume = preg_replace("#\[right\](.+?)\[\/right\]#", "<div align=\"right\">$1</div>", $resume);
  15.     return $resume;
  16. }
  17. echo "<table width=\"550\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  18.     <tr>
  19.       <td><img src=\"/images/separations/barre.jpg\" width=\"550\" height=\"1\" /></td>
  20.     </tr>
  21.     <tr>
  22.       <td bgcolor=\"#FFFFFF\"><strong>A</strong></td>
  23.     </tr>
  24.     <tr><td><img src=\"/images/separations/barre.jpg\" width=\"550\" height=\"1\" /></td>
  25.     </tr>
  26.   </table>
  27. ";
  28. if (isset($_GET['limite'])) $limite=$_GET['limite'];
  29. else $limite=0;
  30. // on va afficher $nombre résultats par page.
  31. $nombre = 10 ;
  32. // si limite n'existe pas on l'initialise à zéro
  33. if (!$limite) $limite = 0;
  34. // on cherche le nom de la page.
  35. $adressepage = $_SERVER['PHP_SELF'].$_SERVER['REQUEST_URI'];
  36. //Connexion a la db
  37. $db = mysql_connect($host,$sqluser,$sqlpass) or die ("Impossible de se connecter au serveur SQL" );
  38. mysql_select_db($sqldb,$db) or die ("Impossible de se connecter a la base de donnees" );
  39. //On compte le nb total d'enregistrements
  40. $sql1 = 'SELECT count(id) FROM galerie_cg"';
  41. $res1 = mysql_query($sql1,$db)  or die ('Erreur : '.mysql_error() );
  42. $row = mysql_fetch_row($res1);
  43. $total = $row[0];
  44. // On verifie la validité de la variable limite
  45. $verifLimite= verifLimite($limite,$total,$nombre);
  46. // si la limite passée n'est pas valide on la remet à zéro
  47. if(!$verifLimite) $limite = 0;
  48. //On récupère ce que l'on veut afficher
  49. $sql = 'SELECT * FROM galerie_cg'  or die ("Probleme lors de la lecture de la base de donnees" );
  50. $res = mysql_query ($sql, $db) or die('Erreur SQL ! '.$sql.''.mysql_error());
  51. mysql_close ($db);
  52. //Si nombre d'enregistrement plus grand que nombre =>  affichage des liens vers les pages
  53. if($total > $nombre) affichePages($nombre,$adressepage,$total,$limite);
  54. // Affichage du résultat
  55. if (isset ($res) && isset($total) )
  56.         {
  57.         while ( $data = mysql_fetch_array($res) )
  58.                 {
  59. echo "<table width=\"500\" border=\"0\"><tr>
  60.     <td colspan=\"2\" bgcolor=\"#FC73CF\"><div align=\"left\" class=\"titre_galerie\">";
  61. echo $data['titre'];
  62. echo "</div></td>
  63.     </tr>
  64.   <tr>
  65.     <td width=\"370\" valign=\"top\" bgcolor=\"#EEEEFF\"><div align=\"left\"><strong>Nombres d'images:</strong> ";
  66. echo $data['annee'];
  67. echo "
  68. <strong>Description:</strong> ";
  69. echo  nl2br(bbcode(stripslashes($data['resume']),ENT_QUOTES));
  70. echo "</td>
  71.     <td width=\"120\" valign=\"top\" bgcolor=\"#EEEEFF\"><div align=\"center\"><img src=\"/illustrations/";
  72. echo $data['illustration'];
  73. echo "\" alt=\"\" width=\"120\" height=\"120\" class=\"image_galerie\" /></div></td>
  74.   </tr>
  75. </table>";
  76.     }
  77.         }
  78. //Si nombre d'enregistrement plus grand que nombre  =>  affichage des liens vers les pages
  79. if($total > $nombre) affichePages($nombre,$adressepage,$total,$limite);
  80. ?>



L'erreur afficher est: Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"' at line 1

Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

Profil : IDNaute
Plus d'informations

UP Svp j'ai vraiment besoin de finir ce truc :-?

kikoolol asv?
Profil : Modérateur
Plus d'informations

l'erreur sur ta premiere requete est du a une double quote en trop.

sur la deuxieme requete, le or die n'a rien à faire la, a coté du "SELECT".


va faire un tour sur phpdebutant.org pour voir la structure d'une requete basique.

Profil : IDNaute
Plus d'informations

Code :
  1. <?php
  2. // BBcode
  3. function bbcode($resume) {
  4.     $resume = preg_replace("#\[img]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img]#sie", "'<img src=\\1' . str_replace(' ', '%20', '\\3') . '>'", $resume);
  5.     $resume = preg_replace("#\[url\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/url\]#sie", "'<a href=\"\\1' . str_replace(' ', '%20', '\\3') . '\" target=blank>\\1\\3</a>'", $resume);
  6.     $resume = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=$1>$2</a>", $resume);
  7.     $resume = preg_replace("/\[url2=(.+?)\](.+?)\[\/url2\]/", "<a href=$1 target=blank>$2</a>", $resume);
  8.     $resume = preg_replace("#\[b\](.+?)\[\/b\]#", "<b>$1</b>", $resume);
  9.     $resume = preg_replace("#\[i\](.+?)\[\/i\]#", "<i>$1</i>", $resume);
  10.     $resume = preg_replace("#\[u\](.+?)\[\/u\]#", "<u>$1</u>", $resume);
  11.     $resume = preg_replace("#\[s\](.+?)\[\/s\]#", "<s>$1</s>", $resume);
  12.     $resume = preg_replace("#\[left\](.+?)\[\/left\]#", "<div align=\"left\">$1</div>", $resume);
  13.     $resume = preg_replace("#\[center\](.+?)\[\/center\]#", "<div align=\"center\">$1</div>", $resume);
  14.     $resume = preg_replace("#\[right\](.+?)\[\/right\]#", "<div align=\"right\">$1</div>", $resume);
  15.     return $resume;
  16. }
  17. echo '<table width=\"550\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  18.     <tr>
  19.       <td><img src=\"http://world.hentai.free.fr/images/separations/barre.jpg\" width=\"550\" height=\"1\" /></td>
  20.     </tr>
  21.     <tr>
  22.       <td bgcolor=\"#FFFFFF\"><strong>A</strong></td>
  23.     </tr>
  24.     <tr><td><img src=\"http://world.hentai.free.fr/images/separations/barre.jpg\" width=\"550\" height=\"1\" /></td>
  25.     </tr>
  26.   </table>
  27. ';
  28. // Information de la base
  29. $dbhost = "sql.free.fr";
  30. $dblogin = "world.hentai";
  31. $dbpassword = $pass;
  32. $dbname = "world.hentai";
  33. // Conection a la base
  34. $connect = mysql_connect($dbhost,$dblogin,$dbpassword);
  35. $db = mysql_select_db($dbname);
  36. // On met dans une variable le nombre de galerie qu'on veut par page
  37. $nombreDeMessagesParPage = 10; // Essayez de changer ce nombre pour voir :o)
  38. // On récupère le nombre total de galerie
  39. $retour = mysql_query('SELECT COUNT(*) AS id FROM galerie_cg');
  40. $donnees = mysql_fetch_array($retour);
  41. $totalDesMessages = $donnees['id'];
  42. // On calcule le nombre de pages à créer
  43. $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
  44. // Puis on fait une boucle pour écrire les liens vers chacune des pages
  45. echo 'Page : ';
  46. for ($i = 1 ; $i <= $nombreDePages ; $i++)
  47. {
  48.     echo '<a href="accueil.php?images=hentai_cg&tri=all&page=' . $i . '">' . $i . '</a> ';
  49. }
  50. if (isset($_GET['page']))
  51. {
  52.     $page = $_GET['page']; // On récupère le numéro de la page
  53. }
  54. else // La variable n'existe pas, c'est la première fois qu'on charge la page
  55. {
  56.     $page = 1; // On se met sur la page 1 (par défaut)
  57. }
  58. // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
  59. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  60. $reponse = mysql_query('SELECT * FROM galerie_cg ORDER BY titre DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
  61. while ($donnees = mysql_fetch_array($reponse))
  62. echo '<table width=\"500\" border=\"0\"><tr>
  63.     <td colspan=\"2\" bgcolor=\"#FC73CF\"><div align=\"left\" class=\"titre_galerie\">';
  64. echo $data['titre'];
  65. echo '</div></td>
  66.     </tr>
  67.   <tr>
  68. <td width=\"370\" valign=\"top\" bgcolor=\"#EEEEFF\"><div align=\"left\"><strong>Nombres d\'images:</strong> ';
  69. echo $data['annee'];
  70. echo '
  71. <strong>Description:</strong> ';
  72. echo  nl2br(bbcode(stripslashes($data['resume']),ENT_QUOTES));
  73. echo '</td>
  74.     <td width=\"120\" valign=\"top\" bgcolor=\"#EEEEFF\"><div align=\"center\"><img src=\"http://world.hentai.free.fr/include/galerie_xxx/illustrations/';
  75. echo $data['illustration'];
  76. echo '\" alt=\"\" width=\"120\" height=\"120\" class=\"image_galerie\" /></div></td>
  77.   </tr>
  78. </table>';
  79. }
  80. mysql_close();
  81. ?>



Voila ce que j'ai fait maintenant mais il n'affiche pas mes echo xD

Profil : IDNaute
Plus d'informations

J'ai trouver merci quand même


  FORUM Infos-du-Net » Programmation » [Php] Etaler une requete sur plusieurs page [Resolu]

Aller à :
 

Liens