PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-10-2013 20:08:18

Fredmtl
Membre
Inscription : 27-10-2013
Messages : 1

Formulaire multiple, mysql query et pagination

Bonjour à tous,

Je ne suis, mais là vraiment pas, un expert en php et c'est la raison pour laquelle j'écris sur ce forum.

J'ai une page contenant deux formulaire de recherche (un par catégorie, l'autre par groupe d'age) et j'affiche mes résultats depuis un query avec une pagination.

Tout fa bien jusqu'au moment ou je passe d'une page a l'autre: dès que je change de page je pers ma liste de résultats et ma page n'affiche rien d'autre que mes formulaire.

J'ai fait un print_r de ma sessions et au lancement de ma page j'ai:

Array()

Une fois mon formulaire envoyé j'ai, par exemple:

Array ( [categorie] => 4 )

Mais quand je change de page je retourne à:

Array()

Pouvez-vous m'aider ou du moins me dire comment corriger le problème?

Par Age <img src="../images/check_mark.png" width="50" onclick="MM_changeProp('age','','display','block','DIV');MM_changeProp('cat','','display','none','DIV')"/>
Par catégorie <img src="../images/check_mark.png" width="50" onclick="MM_changeProp('age','','display','none','DIV');MM_changeProp('cat','','display','block','DIV')" />
<div id="age" style="display:none"><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return validateForm()">
<select name="age" id="age">
<option name="ageid" value="1">1</option>
<option name="ageid" value="2">2</option>
<option name="ageid" value="3">3</option>
<option name="ageid" value="4">4</option>
<option name="ageid" value="5">5</option>
<option name="ageid" value="6">6</option>
</select>
<input name="" type="submit" />

</form></div>
<div id="cat" style="display:none">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return validateForm()">
<select name="categorie">
<?php


$fp = fopen($_SERVER["DOCUMENT_ROOT"]."/frimousse/Categorie.csv", 'r');
// Headrow
$head = fgetcsv($fp, 4096, ';', '"');
 
// Rows
while($column = fgetcsv($fp, 4096, ';', '"'))
{
    $column = array_combine($head, $column);
 
?>

<option name="categorieNom" value="<?php echo $column['IdCategorie']?>"><?php echo $column['Nom']?></option>
<?php
 }

?>
</select>
<input name="" type="submit" />
</form>
</div>
<?php
session_start ();
if (isset($_POST['categorie']) ) { $_SESSION['categorie'] = $_POST['categorie']; }
if (isset($_POST['age']) ) { $_SESSION['age'] = $_POST['age']; }
include('config.php');
    include ('pagination.php');
    $per_page = 6;
if (isset($_SESSION['categorie'])) {
    $result = mysql_query("SELECT * FROM csvdata where IdCategorie={$_SESSION['categorie']}");
  }
if (isset($_SESSION['age'])) {
    $result = mysql_query("SELECT * FROM csvdata where AgeVise={$_SESSION['age']}");
  }

    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results / $per_page);
    if (isset($_GET['page'])) {
    $show_page = $_GET['page']; //current page
    if ($show_page > 0 && $show_page <= $total_pages) {
    $start = ($show_page - 0) * $per_page;
    $end = $start + $per_page;
    } else {
    $start = 0;
    $end = $per_page;
    }
    } else {
    $start = 0;
    $end = $per_page;
    }
    // display pagination
    $page = intval($_GET['page']);
    $tpages=$total_pages;
    if ($page <= 0)
    $page = 1;
      $reload = $_SERVER['PHP_SELF'] . "?tpages=" . $tpages;


for ($i = $start; $i < $end; $i++) {

if ($i == $total_results) {
break;
}
if (mysql_result($result, $i, 'IdCategorie') == "1") {
    $cat = "Jeu de motricité";
} elseif (mysql_result($result, $i, 'IdCategorie') == "2") {
    $cat = "Jeu d'habileté/rapidité";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "3") {
    $cat = "Jeu sensoriel";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "4") {
    $cat = "Jeu de rôles";
  } elseif (mysql_result($result, $i, 'IdCategorie') =="5") {
    $cat = "Jeu de hasard";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "6") {
    $cat = "Jeu de construction/assemblage";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "7") {
    $cat = "Jeu de créativité/artistique";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "8") {
    $cat = "Jeu de stratégie/réflexion";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "9") {
    $cat = "Jeu de vocabulaire";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "10") {
    $cat = "Jeu mathématique";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "11") {
    $cat = "Jeu d'apprentissage/connaissance";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "12") {
    $cat = "Jeu de mémoire";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "13") {
    $cat = "Jeu de plein air";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "14") {
    $cat = "Livre avec dessins seulement";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "15") {
    $cat = "Livre avec textes et dessins";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "16") {
    $cat = "Livre avec textes seulement";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "17") {
    $cat = "Livre de bricolages";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "18") {
    $cat = "Livre destiné aux parents";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "19") {
    $cat = "Cassette vidéo - Dessins animés";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "20") {
    $cat = "Cassette vidéo - Film";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "21") {
    $cat = "Cassette audio";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "22") {
    $cat = "CD-Rom audio";
  } elseif (mysql_result($result, $i, 'IdCategorie') == "23") {
    $cat = "CD-Rom informatique";
} else {

}
echo "<div style='float:left;width:150px;padding-left:10px;padding-right:10px;height:200px;padding-bottom:50px;vertical-align:top'>";
$IdPhoto = mysql_result($result, $i, 'IdPhoto');

if (empty($IdPhoto))
{
  ?>
 <div style="margin-top:5px;height:100px"><img src="<?php $_SERVER['DOCUMENT_ROOT'];?>/frimousse/dataimg/not-found.jpg" width="120px"></div><br />
 <?php
} else {
?>
<div style="margin-top:5px;height:100px"><img src="<?php $_SERVER['DOCUMENT_ROOT'];?>/frimousse/dataimg/i<? echo $IdPhoto ?>.jpg" width="120px" style="padding-bottom:10px"></div><br />

<?php
 }
 $Titre = utf8_encode(mysql_result($result, $i, 'Titre'));
// echo out the contents of each row into a table
echo '<div style="margin-top:5px;height:35px">' . $Titre . '</div><br />';
echo '<div style="margin-top:-15px;height:20px">' . $cat . '</div><br />';
echo '<div style="margin-top:5px">' . mysql_result($result, $i, 'AgeVise') . '</div><br /></div>';
}
// close table>
echo "<div style='clear:both'></div>";
echo '<div class="pagination"><ul>';
if ($total_pages > 1) {
echo paginate($reload, $show_page, $total_pages);
}
echo "</ul></div>";
// pagination

    ?>

Merci beaucoup.

Hors ligne

#2 03-11-2013 12:26:49

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Formulaire multiple, mysql query et pagination

Bonjour,

Bien que votre code reste très rudimentaire, pourrait-on voir le contenu de votre fichier pagination.php ?
De plus le code que vous nous avez montré contient-il du code en amont? ou cela représente-t-il le code intégral de votre page?

Merci

Dernière modification par Jc (03-11-2013 12:28:10)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums