L2J-FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-25%
Le deal à ne pas rater :
-25% Samsung Odyssey G9 G95C – Ecran PC Gamer 49″ Incurvé
599 € 799 €
Voir le deal

 

 [Resolu]requete avec jointure

Aller en bas 
3 participants
AuteurMessage
Akira

Akira


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

[Resolu]requete avec jointure Empty
MessageSujet: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/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
Revenir en haut Aller en bas
Ghurdyl

Ghurdyl


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/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
Revenir en haut Aller en bas
Akira

Akira


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/08/09, 12:04 pm

mai ca marche pas je ne comprend pas dou vien l'ereur
Revenir en haut Aller en bas
Ghurdyl

Ghurdyl


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/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
Revenir en haut Aller en bas
Akira

Akira


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/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
Revenir en haut Aller en bas
Divinity

Divinity


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty01/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 !
Revenir en haut Aller en bas
Akira

Akira


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

[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty02/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
Revenir en haut Aller en bas
Contenu sponsorisé





[Resolu]requete avec jointure Empty
MessageSujet: Re: [Resolu]requete avec jointure   [Resolu]requete avec jointure Empty

Revenir en haut Aller en bas
 
[Resolu]requete avec jointure
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Resolu] Aide pour requete en tableau
» [resolu]requete PHP pour afficher une Progressbar
» [RESOLU] Erreur Java avec RegisterGameServer.bat

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:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser