Tom's Guide > Forum > Programmation > tri des données dans un tableau php
Mot :    Pseudo :           
 

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.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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:

Code :
  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).

Répondre à crazycat@idn

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:

Code :
  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

Répondre à tidall

Tu peux le faire avec 2 requètes (pour économiser de la mémoire):

Code :
  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:

Code :
  1. <? $pages = ceil($nptotal/20); ?>


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

Répondre à crazycat@idn

Citation :


CrazyCat a écrit :
Tu peux le faire avec 2 requètes (pour économiser de la mémoire):

Code :
  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:

Code :
  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
?>

Répondre à tidall
Tom's Guide > Forum > Programmation > tri des données dans un tableau php
Aller à :

Il y a 1969 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens