Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 [Resolu]requete avec jointure

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Akira



Nombre de messages : 160
Age : 31
Date d'inscription : 08/01/2008

MessageSujet: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 09:09

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 Dim 02 Aoû 2009, 08:22, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ghurdyl



Nombre de messages : 26
Age : 29
Localisation : Belgique
Date d'inscription : 17/06/2009

MessageSujet: Re: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 13:00

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Akira



Nombre de messages : 160
Age : 31
Date d'inscription : 08/01/2008

MessageSujet: Re: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 13:04

mai ca marche pas je ne comprend pas dou vien l'ereur
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ghurdyl



Nombre de messages : 26
Age : 29
Localisation : Belgique
Date d'inscription : 17/06/2009

MessageSujet: Re: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 13:09

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Akira



Nombre de messages : 160
Age : 31
Date d'inscription : 08/01/2008

MessageSujet: Re: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 16:35

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Divinity



Nombre de messages : 1282
Age : 27
Localisation : Yvelines
Date d'inscription : 24/05/2006

MessageSujet: Re: [Resolu]requete avec jointure   Sam 01 Aoû 2009, 22:33

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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Akira



Nombre de messages : 160
Age : 31
Date d'inscription : 08/01/2008

MessageSujet: Re: [Resolu]requete avec jointure   Dim 02 Aoû 2009, 08:22

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [Resolu]requete avec jointure   Aujourd'hui à 17:30

Revenir en haut Aller en bas
 
[Resolu]requete avec jointure
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Resolu] Bannière avec lien dans une signature
» [Resolu] Problème avec les transitions d'un diaporama
» [Resolu]Problème avec collision _ line avec mur entre 2 obj
» [Résolu]Problème avec les liens.
» [résolu] Problème avec la légende bas du forum ??

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
L2J-FR :: Général :: Aides et Conseils-
Sauter vers: