|
| [Resolu]requete avec jointure | |
| | Auteur | Message |
---|
Akira
Nombre de messages : 160 Age : 39 Date d'inscription : 08/01/2008
| Sujet: [Resolu]requete avec jointure 01/08/09, 08:09 am | |
| voila mon souci apres un ans que je code un site et un forum intregré au site, je viens de suprimer pas mal de chose dans mon Pc et mon site avec. lol mais disons que là, je vais devoir tous refaire. mais bon voilon mon souci je code une database version dropcalc mais fait maison, voila ma requete - Code:
-
$result = mysql_query("(SELECT item_id,name, weight, material, crystal_type FROM `etcitem` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `weapon` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `armor` WHERE `name` LIKE '%$sstring%' ORDER BY name ) ");
mais je voudrai metre le resultat sur plusieur page
tout ce que je sais
$total= nombre de resultat trouver lor de la requete $MombreParPage=nombre par page
$NombreDePages = ceil($total / $MombreParPage);
if (isset($_GET['p'])) { $p = intval($_GET['p']); } else { $p = 1; } //On affiche les pages 1-2-3, etc. echo 'Page : '; for ($i = 1 ; $i <= $NombreDePages ; $i++) { if ($i == $p) //On ne met pas de lien sur la page actuelle { echo $i; } else { echo ' <a href="test.php?p='.$i.'">'.$i.'</a> '; } }
$premier = ($p - 1) * $;
mais la est le souci je n'y arrive pas je ne c'es pas ou metre la limite
ici la requete a delimité par
LIMIT ' . $premier . ', ' . $MombreParPage .'
merci de m'aidé a y voir plus claire ou s' il y a d'autre moyen d'avoir le meme resultat je suis toute oui Cordialemnt Akira D boulon
Dernière édition par Akira le 02/08/09, 07:22 am, édité 2 fois | |
| | | Ghurdyl
Nombre de messages : 26 Age : 37 Localisation : Belgique Date d'inscription : 17/06/2009
| Sujet: Re: [Resolu]requete avec jointure 01/08/09, 12:00 pm | |
| Je comprend pas exactement ta question. tu veux récupérer une liste d'item en DB et la paginer à l'affichage en PHP. tu peux utiliser la clause LIMIT - Code:
-
(SELECT ....) UNION (SELECT ...) UNION (SELECT...) LIMIT 10, 10 pour avoir les enregistrements 11 à 20 par exemple mais ça tu semble le savoir donc je ne comprend pas ce que tu cherches | |
| | | Akira
Nombre de messages : 160 Age : 39 Date d'inscription : 08/01/2008
| Sujet: Re: [Resolu]requete avec jointure 01/08/09, 12:04 pm | |
| mai ca marche pas je ne comprend pas dou vien l'ereur | |
| | | Ghurdyl
Nombre de messages : 26 Age : 37 Localisation : Belgique Date d'inscription : 17/06/2009
| Sujet: Re: [Resolu]requete avec jointure 01/08/09, 12:09 pm | |
| l'erreur ?
tu as une erreur php/mysql ou bien juste aucun résultat ? (0 rows returned)
Ta requête dans phpmyadmin avec comme paramètre "dynasty" et la limit focntionne très bien (SELECT item_id,name, weight, material, crystal_type FROM `etcitem` WHERE `name` LIKE '%dynasty%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `weapon` WHERE `name` LIKE '%$dynasty%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `armor` WHERE `name` LIKE '%$dynasty%' ORDER BY name ) LIMIT 10,10 | |
| | | Akira
Nombre de messages : 160 Age : 39 Date d'inscription : 08/01/2008
| Sujet: Re: [Resolu]requete avec jointure 01/08/09, 03:35 pm | |
| c'es bon c'es regler merci j'ai juste un souci sur la 2eme page mai bon facile a reglé voila mon code bien sur avie au copieur de script comprendre bonjours a tous voila le souci que j'ai avec un script (requete ensuite on affiche les resultats sur plusieur pages voila mon scripte - Code:
-
<?php
session_start();
$L2JBS_config["mysql_host"]="localhost"; // MySQL IP $L2JBS_config["mysql_db"]="bdere"; // $L2JBS_config["mysql_login"]=""; // MySQL Login name $L2JBS_config["mysql_password"]=""; //connection a la BD mysql_connect($L2JBS_config["mysql_host"],$L2JBS_config["mysql_login"],$L2JBS_config["mysql_password"]) or die('Cannot connet to MySQL Server. Please edit the config .'); mysql_select_db($L2JBS_config["mysql_db"]) or die('Cannot find chusen databse. Please edit the config.');
error_reporting(0);
$sstring = mysql_real_escape_string($_POST['item']);
if (empty($sstring)) { "au resultat trouver <a href='index.php'>back to search</a>"; }else{ $trio = mysql_query("(SELECT item_id,name, weight, material, crystal_type FROM `etcitem` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `weapon` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `armor` WHERE `name` LIKE '%$sstring%' ORDER BY name) ")or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$contenu = mysql_num_rows($trio);
if ($contenu == 0) { "$lang_noresult<br><a href='index.php'>$back</a>"; }else{
$total = $contenu ; $MembreParPage = 100; $NombreDePages = ceil($total / $MembreParPage);
if (isset($_GET['p'])) { $p = intval($_GET['p']); } else { $p = 1; } //On affiche les pages 1-2-3, etc. echo '<table style="margin-bottom:10px;"><tr><td width="50">Page : </td>';
for ($i = 1 ; $i <= $NombreDePages ; $i++) { if ($i == $p) //On ne met pas de lien sur la page actuelle { echo '<td>'.$i.'</td>'; } else { echo '<td><a href="?page=search-i&p='.$i.'">'.$i.'</a></td> '; } } echo'</tr></table>';
$premier = ($p - 1) * $MembreParPage;
$result = mysql_query("(SELECT item_id,name, weight, material, crystal_type FROM `etcitem` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `weapon` WHERE `name` LIKE '%$sstring%' ORDER BY name) UNION (SELECT item_id,name,weight, material,crystal_type FROM `armor` WHERE `name` LIKE '%$sstring%' ORDER BY name ) LIMIT ".$premier." ,".$MembreParPage." ")or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo "<table border=\"1\" width='95%' align='center'>"; echo "<tr class='text'> <td height=\"30\" width='2%'>$lang_pic</td> <td width='60%'>$lang_name</td> <td width='2%'>$lang_grade</td> <td>weight</td> <td>material</td> </tr>"; while ($row = mysql_fetch_array($result,MYSQL_NUM)){ $id =$row[0]; $name = $row[1]; $weight=$row[2]; $material=$row[3]; $grade =$row[4];
echo "<tr> <td><img src='database/images/items/$id.gif' /></td> <td> <a href='?page=detailsitem&item=$id'>$name</a></td> <td align='center'><img src='database/images/grades/$grade.gif'/></td> <td align='center'>$weight</td> <td> $material</td> </tr>"; } echo "</table>"; } } ?> il fontione mais des que je passe sur la 2eme page il ya plus rien le $_POST n'est pas stoker jusqu'au bout il es a nouveau inisialiser sur la 2eme page donc inésistant comment je peu faire pour le stoker jusq'au bout, je ne conte pas utiliser $_GET d'autre solution pour garder mon variable merci de m'aider Cordialement Akira D boulon | |
| | | Divinity
Nombre de messages : 1282 Age : 35 Localisation : Yvelines Date d'inscription : 24/05/2006
| Sujet: Re: [Resolu]requete avec jointure 01/08/09, 09:33 pm | |
| Coucou, ça fait longtemps que je ne suis pas venu sur ce forum :O Utilise une variable de session : $_SESSION['xxx']; après avoir fait un session_start(); (à placer tout en haut du code html). La variable sera en mémoire jusqu'à temps que le visiteur ferme sa fenêtre où que tu fasses un session_close(); ou un unset $_SESSION['xxx'];. Exemple : - Code:
-
<?php session_start();
if (isset($_POST['login'])) { $_SESSION['login'] = $_POST['login']; // addslashes si !get_magic_quotes_gpc echo '<a href="index.php?p=' . (isset($_GET['p']) ? (int)$_GET['p'] : 0) . '">Changer de page ' . $_SESSION['login'] . ' ?</a>'; exit(); } ?> <form action="index.php" method="post"> <input name="login" type="text" /> <input type="submit" name="submit" value="OK" /> </form>
Ensuite tu récupères le login avec la variable de session que tu as initialisé. Ceci est un exemple parmis tant d'autre ! | |
| | | Akira
Nombre de messages : 160 Age : 39 Date d'inscription : 08/01/2008
| Sujet: Re: [Resolu]requete avec jointure 02/08/09, 07:22 am | |
| a c'es bon c'es fait j'ai eu du mal au debut mais c'es bon; j'ai du rajouté une condition - Code:
-
il(isset($_POST['item']) { $_SESSION['item'] =$_POST['item']; } $sstring= mysql_real_escape_string($_SESSION['item']); bien sur j'ai a l'entete du fichier - Code:
-
session-start() il ma falu une bonne nuit de sommeil et une migrene pour comprendre la marche suivre merci a tout ce qui mon prodigé des conseils Cordialement akira D boulon | |
| | | Contenu sponsorisé
| Sujet: Re: [Resolu]requete avec jointure | |
| |
| | | | [Resolu]requete avec jointure | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |