lolipops

  • Signature
    Pas douée mais acharnée
  • Site web
  • Nombre de sujets
    9
  • Nombre de messages
    45
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

lolipops
le 08/01/2005 à 02:44
Afich page par page + n colonne
Pour info la globule, j'ai juste modifie dans la barre de navig (objet) la data $temp['nb_total_elements'] par $nb_total que j'ai declarer apres la 1ere requete.
C'est pour que ca colle avec la fonction de la barre qui contient cette data
Pas douée mais acharnée
lolipops
le 08/01/2005 à 02:39
Afich page par page + n colonne
Bon ca a marche a moitié loool

l'affichage sur N colonne marche impec !

J'ai un probleme avec ma barre de navig,
elle s'affiche avec le bon nombre de lien et tout mais elle ne permet pas de naviguer (oups lol)

Quand je passe la souris, je vois bien dans la barre d'etat que j'ai &debut=10 puis &debut=20 mais ca veut pas y aller quand je clique ???

j'ai recree une page complete (simplifiée par rapport au futur contenu) sans include,
(seule la base est appelée par l'index)

le code :

<?php
$nb_affichage_par_page = 10;
$nbcol = 2;


// Requete pour determiner le LIMIT

$sql = 'SELECT count(id) AS nb_total_elements FROM contact';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$temp = mysql_fetch_array($req);

if ($temp['nb_total_elements'] == 0) {
echo 'Aucun résultat';
}
else {
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
else {
if (!is_int($_GET['debut'])) $_GET['debut'] = 0;
}

$nb_total = $temp['nb_total_elements'];




// FONCTION BARRE NAVIG

function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_BarreNavig) {

$barre = '';

// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}

// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);

// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_BarreNavig%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_BarreNavig/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_BarreNavig/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_BarreNavig/2));
$cpt_fin1 = $page_active + floor(($nb_liens_BarreNavig/2));
}

if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_BarreNavig;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_BarreNavig)+1;
$cpt_fin = $nb_pages_total;
}

if ($nb_pages_total <= $nb_liens_BarreNavig) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}

// si le premier numéro qui s'affiche est différent de 1, on affiche un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;Début</A>&nbsp;&nbsp;';
}
else {
$lien='';
}
$barre .= $lien;

// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.'&nbsp;-&nbsp;';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {

$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}

// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">Fin&gt;</A>';
}
else {
$lien='';
}
$barre .= $lien;

return $barre;
}

// REQUETE FINALE pour AFFICHAGE (test simplifié)

$sql = 'SELECT nom, prenom FROM contact ORDER BY nom ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
while($data = mysql_fetch_array($req)) {
$tablo[]=$data;
}

$nb_elements = count ($tablo);
echo '<table>';
for($i=0; $i<$nb_elements; $i++){
if($i%$nbcol==0)
echo '<tr>';
echo '<td>'.$tablo[$i]['nom'].'</td><td>'.$tablo[$i]['prenom'].'</td>';

if($i%$nbcol==($nbcol-1))
echo '</tr>';
}
echo '</table>';

echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 10).'</span>';
}
?>
Pas douée mais acharnée
lolipops
le 08/01/2005 à 01:34
lire un fichier sans connaitre le nombre de lignes
Arf...faut que je m'achete une encyclopedie du php...

Bah non j'ai LA GLOBULE !!!!

Bon on a deja du te le dire...
Mais keskon ferait sans toi !!!!!!!!!!!!!!!!!!

MERCI (ca marche si tavais pas compris loool)
Pas douée mais acharnée
lolipops
le 08/01/2005 à 01:28
lire un fichier sans connaitre le nombre de lignes
Alors le code :

<?php
// Instruction 1
$fp = fopen ("pages/ZoneAccueil/testMemo.txt", "r");
// Instruction 2
$contenu_du_fichier = fgets ($fp, filesize("pages/ZoneAccueil/testMemo.txt"));
// Instruction 3
fclose ($fp);
// recup des données avec la mise en forme des paragraphes
$nouvelle_chaine = nl2br($contenu_du_fichier);
// Instruction 4
echo '<span class="Style1">Derniere Minute: '.$nouvelle_chaine.'</span>';
?>



le fichier texte est super banal :

*debut fichier txt*

Mise en ligne des derniers Sites CV !!
Pas une minute à perdre, reservez votre modèle,
vous serez assuré de l'EXCLUSIVITE GRATUITE !

Les Sites CV restent 100% gratuit,
MAIS nous vous offrons l'exclusivité tout le MOIS !

*fin fichier txt*
Pas douée mais acharnée
lolipops
le 08/01/2005 à 01:18
Afich page par page + n colonne
Ok je pense avoir compris comment m'y prendre je vais tester de suite et je te dis ce qu'il en ressort

Merci beaucoup !
Pas douée mais acharnée
lolipops
le 08/01/2005 à 01:09
lire un fichier sans connaitre le nombre de lignes
Bon jsuis desole mais ca rame...

donc dans mon fichier txt jai redige normalement avec mes retours ligne avec entrée (c trop logique ce que tu m'as explique la globule j'ai honte lool)
mon code est indentique à celui posté plus haut (sauf le prob d'espace of course)

MAIS la lecture du fichier s'arrete des le saut de ligne....

Arf, c peur etre une question de formatage du fichier texte ? (ANSI, unicode..) il faut quel format ?

Merci pour vos effort.

Bzh, je vais tester ton appli mais jsuis pas sur que se soit simple pour ce que je veux en faire.
Mais c'est quand meme très interressant.
Pas douée mais acharnée
lolipops
le 07/01/2005 à 23:37
lire un fichier sans connaitre le nombre de lignes
Arf la globule t'as vraiment l'oeuil pour les espaces...
c ca de faire copier/coller..
Une baffe !! meme 2 lool

Ok donc dans mon fichier texte retour ligne = \n

MERCI
Pas douée mais acharnée
lolipops
le 07/01/2005 à 23:17
Afich page par page + n colonne
Coucou,

Ha oui la globule j'avait vu mais je voyais pas trop comment le manipuler,

c'est par rapport à la requete, moi je prend tout ce qu'il y a dans 2 tables differentes et je vois pas comment "stocker" proprement ces variables dans les array pour les ressortir après sur les 2 colonnes.

voici mon code creer d'apres ton "comment faire" (genial !! pas d'autres mots)

<?php

// Nous appelons la requete et le script qui permet l'affichage page par page specifique a cette page.
include('./include/fonctions/ReqAffichPpP.php'); // modif du nb de ligne par page

// BARRE NAVIG HAUT nous appelons uniquement "l'objet"(modif nb de lien affiche), les fonctions sont en includeGeneral dans l'index
include('./include/fonctions/BarreNavigPpPObjet.php');


// on cherche le type de titre et legende attribué a notre fichier
$sql1 = 'SELECT Typetitleg FROM '.$nomtable.'';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req1 = mysql_query($sql1) or die('Erreur SQL !'.$sql1.''.mysql_error());
// on récupère le résultat sous forme d'un tableau
$data1 = mysql_fetch_array($req1);
// on nomme le resultat sous forme de variable
$typetitleg = $data1['Typetitleg'];
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req1);

// on recupere les tires et legendes de ce type dans la table de stockage
$sql2 = 'SELECT * FROM titrelegende WHERE Typetitleg = "'.$typetitleg.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.''.mysql_error());
// on récupère le résultat sous forme d'un tableau
$titleg = mysql_fetch_array($req2);
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req2);


// on selectionne les enregistrements à afficher selon les fonctions definies plus haut et dans ReqAffichPpP.php
// la data nomtable est defini dans link.inc comme les liens
$sq3 = 'SELECT * FROM '.$nomtable.' ORDER BY nom ASC LIMIT '.$_GET['rangFiche'].','.$nb_ligne_par_page;
// on exécute la requête
$req3 = mysql_query($sq3) or die('Erreur SQL !'.$sq3.''.mysql_error());

// SCAN DES TUPLES
while ($data = mysql_fetch_array($req3)) {


// AFFICHAGE RESULTATS
echo '<table width="500" border="1" bordercolor="#FFFFFF">';
echo '<tr>';
echo '<td width="165">';
echo '<img src="'.$data['image'].'" border="0" height="100" width="100">';
echo '</td><td width="165">';
echo stripslashes(htmlentities(trim($titleg['titleg2'])));
echo '</td><td width="165">';
echo stripslashes(htmlentities(trim($titleg['titleg3'])));
echo '</td></tr>';
echo '<tr><td width="165">';
echo '<a href="index.php?IDdest=2&IDcrea=22&IDdestprev=' , $_GET['IDdest'] , '&IDcreaprev=' , $_GET['IDcrea'] , '&rangFiche=' , $_GET['rangFiche'] , '&ID=' , $data['ID'] , '">' , stripslashes(htmlentities(trim($data['nom']))) , '</a>';
echo '</td><td width="165">';
echo stripslashes(htmlentities(trim($data['prenom'])));
echo '</td><td width="165">';
echo stripslashes(htmlentities(trim($data['age'])));
echo '</td></tr>';
echo '</table>';
}
// on libère l'espace mémoire
mysql_free_result ($req3);

// BARRE NAVIG BAS
include('./include/fonctions/BarreNavigPpPObjet.php');

// on ferme la connexion
mysql_close ();
?>


T'e penses koi c realisable depuis des tables mulitiples ?

Merci
Pas douée mais acharnée
lolipops
le 07/01/2005 à 23:01
lire un fichier sans connaitre le nombre de lignes
Heu ca marche pas bon voici mon code actuel :

<?php
// Instruction 1
$fp = fopen ("pages/ZoneAccueil/testMemo.txt", "r");
// Instruction 2
$contenu_du_fichier = fgets ($fp, filesize("pages/ZoneAccueil/testMemo.txt"));
// Instruction 3
fclose ($fp);
// recup des données avec la mise en forme des paragraphes
$nouvelle _chaine = nl2br($contenu_du_fichier);
// Instruction 4
echo '<span class="Style1">Notre fichier contient : '.$nouvelle _chaine.'</span>';
?>


Et voici la reponse du serveur :
Parse error: syntax error, unexpected T_STRING
sur la ligne qui declare la variable nouvelle chaine

OUPS !

bon j'ai pas du comprendre ce que tu me disais...
Pas douée mais acharnée
LoadingChargement en cours