[Resolu] requete sur plusieur pages

Eléphanteau du PHP | 25 Messages

01 août 2009, 17:53

bonjours a tous voila le souci que j'ai avec un script (requete ensuite on affiche les resultats sur plusieur pages

voila mon scripte
<?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>&nbsp;&nbsp;<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>&nbsp;&nbsp;$material</td>
    </tr>";
}
echo "</table>";
}
}
?>
il fontione mais des que je passe sur la 2eme page il ya plus rien apres discution avec thehawk le $_POST n'es pas stoker jusqu'au bout il es a nouveau inisialiser sur la 2eme page donc inesistant

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 boulon
Modifié en dernier par boulon le 02 août 2009, 07:37, modifié 1 fois.

Mammouth du PHP | 991 Messages

01 août 2009, 18:01

La solution serait de faire sur la 1ere page :

$_SESSION['item'] = $sstring;

et sur la seconde page :

echo $_SESSION['item'];


Bye Hawk
DevOps, Symfony4, Hoa

Eléphanteau du PHP | 25 Messages

01 août 2009, 18:08

j'ai mi ce que tu vien de me donner

$sstring = mysql_real_escape_string($_POST['item']);

$_SESSION['item'] = $sstring;

peu tu me dire ou eactement je peu le metre dans mon script sil te plz

mais toujours rien

merci encore pour ton aide meme si j'ai pas trop fait preuve de patience LOL

Eléphanteau du PHP | 25 Messages

02 août 2009, 07:19

a c'es bon c'es fait j'ai eu du mal au debut mais c'es bon;
j'ai du rajouté une condition
il(isset($_POST['item'])
{ $_SESSION['item'] =$_POST['item'];
}
$sstring= mysql_real_escape_string($_SESSION['item']);
bien sur j'ai a l'entete du fichier
session-start()
il ma falu une bonne nuit de sommeil et une migrene pour comprendre la marche suivre

merci a thehawk pour tes conseils

Cordialement akira D boulon