Se connecter / S'enregistrer
Votre question

tri des données dans un tableau php

Tags :
  • Index
  • Programmation
Dernière réponse : dans Programmation
29 Mai 2006 22:37:06

Bonjour alors voila proposant des telechargements sur mon site je souhiate faire un système de tri.(comme sur ce site http://www.gtapro.com/downloads/pafiledb.php)
Là n'est pas le problème pour le moment.Je sais le faire avec une liste déroulante et un bouton.

Le problème vient du code qui ne s'affiche plus dans ma page index.php mais continue sur une page blanche en affichant le contenu sans le reste (menu, kit graphique)

morceau du code:
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
<form method="post" action="dl.php">
<center>Nom véhicule*:<br><input name="pseudo" size="20" maxlength="60" type="text"><br>

Description*:<br><textarea rows="4" name="description" cols="20">commentaire</textarea><br>

Auteur*:<br><input name="auteur" size="20" maxlength="50" type="text"><br>

......

lien*:<br><input type="text" name="lien" size="20" maxlength="100"><br>

<input value="Envoyer" name="envoyer" type="submit">

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

voila donc lorsque je valide il va bien a la page dl.php mais seulement je ne parviens pas a faire en sorte que cette dl.php s'affiche dans la page index.php (dans le corps)

J'espère avoir été clair.
Bon chance.

Autres pages sur : tri donnees tableau php

a c 145 L Programmation
30 Mai 2006 09:07:30

c'est normal; vu que tu lui demandes d'aller sur dl.php

Il faudrait que tu lui mettes index.php en action et que tu ajoutes un champ hidden du genre <input type="hidden" name="inclu" value="dl"> et dans ta page index.php, tu fais un traitement conditionnel:
  1. <?
  2. if ($_POST["inclu"] == "dl") {
  3. include "dl.php";
  4. } else {
  5. ... suite de ton index
  6. }
  7. ?>

Bien sûr, ceci est à placer au bon endroit (là ou tu génères ton contenu).
30 Mai 2006 13:11:47

Citation :

CrazyCat a écrit :
c'est normal; vu que tu lui demandes d'aller sur dl.php

Il faudrait que tu lui mettes index.php en action et que tu ajoutes un champ hidden du genre <input type="hidden" name="inclu" value="dl"> et dans ta page index.php, tu fais un traitement conditionnel:
  1. <?
  2. if ($_POST["inclu"] == "dl") {
  3. include "dl.php";
  4. } else {
  5. ... suite de ton index
  6. }
  7. ?>

Bien sûr, ceci est à placer au bon endroit (là ou tu génères ton contenu).


Ok je te remercie je vais essayer.
Si tu peut en même temps me dire comment faire si il y a plus de page qeu ce qui est afficher?

ex:
je classe pour n'afficher que 20données mais je veut pouvoir avoir en bas ou en haut de page la fonction précédent ou suivant ou alors comme les forum page1,2,3,...,56,57
Contenus similaires
a c 145 L Programmation
30 Mai 2006 13:53:25

Tu peux le faire avec 2 requètes (pour économiser de la mémoire):
  1. SELECT COUNT(*) AS nbtotal FROM datas
  2. -- Renvoit le nombre de lignes dans la table datas
  3. SELECT * FROM datas LIMIT 0, 20 ORDER BY id DESC
  4. -- Renvoit les 20 dernières datas

Et derrière, tu traites en faisant:
  1. <? $pages = ceil($nptotal/20); ?>

Ca te renvoit le nombre total de pages (la dernière pouvant être incomplète.

30 Mai 2006 18:09:53

Citation :

CrazyCat a écrit :
Tu peux le faire avec 2 requètes (pour économiser de la mémoire):
  1. SELECT COUNT(*) AS nbtotal FROM datas
  2. -- Renvoit le nombre de lignes dans la table datas
  3. SELECT * FROM datas LIMIT 0, 20 ORDER BY id DESC
  4. -- Renvoit les 20 dernières datas

Et derrière, tu traites en faisant:
  1. <? $pages = ceil($nptotal/20); ?>

Ca te renvoit le nombre total de pages (la dernière pouvant être incomplète.


D'accord mais pour avoir le numéros 1,2,3,4,5...,50
avec les liens pour accéder a la page contenant les 20 prochianes ligne je fais comment??

j'ai trouver ceci mais j'ai un problème il ne veut pas faire le mysqlclose il me met une erreur a la dernière ligne alors qu'elle n'existe pas (ex: j'ai 31 ligne de code et sur le net j'ai erreur ligne 32):

<?php
mysql_connect("localhost", ".....", "......");
mysql_select_db("telechargements");

// --------------- Etape 1 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDetelechargements = 1; // Essayez de changer ce nombre pour voir :o )

// On récupère le nombre total de messages
$retour = mysql_query("SELECT COUNT(*) AS id FROM telechargements");
$donnees = mysql_fetch_array($retour);
$totalDestelechargements = $donnees['id'];

// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDestelechargements / $nombreDetelechargements);

// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="telechargements.php?page=' . $i . '">' . $i . '</a> ';
}

// --------------- Etape 2 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDetelechargements;

$reponse = mysql_query('SELECT * FROM telechargements ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDetelechargements);

while ($donnees = mysql_fetch_array($reponse))
{
include('classe.php');
}
{


mysql_close(); // Déconnexion de MySQL
?>
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS