LA GLOBULE

Inscris le 25/09/2002 à 10:40
  • Site web
  • Nombre de sujets
    47
  • Nombre de messages
    8 345
  • Nombre de commentaires
    142
  • Nombre de news
    8 346
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

LA GLOBULE
le 08/01/2005 à 01:26
configuration ?
Si si, j'y tient à mon short_open_tag à Off :)

Pour les magic_quotes, le script devra s'adapter au serveur (je ne peux pas en dire plus, je pense que vous connaissez tous la fonction qui retourne la configuration du serveur pour les magic_quote smiley).

PS : j'ajoute => magic_quotes_sybase = Off
LA GLOBULE
le 08/01/2005 à 00:29
lire un fichier sans connaitre le nombre de lignes
Bzh, personnellement, je ne mettrais pas de dans mon fichier texte.

Si tu met des , cela veut dire que tu récupères directement le contenu du fichier et que tu l'interpretes comme étant de l'hml.
Ca peut ptet s'avérer dangereux.

Je suis partisant des données brutes transformées à l'affichage.
LA GLOBULE
le 08/01/2005 à 00:22
lire un fichier sans connaitre le nombre de lignes
Mais ne met rien dans ton fichier texte :)

smiley

Quand tu veux sauter une ligne, tu n'ecris pas un \n ou un dans un fichier texte, tu appuies seulement sur ta touche Entrée :)

Et quand tu appuies sur "Entrée", toi tu ne vois rien.
Mais le systeme lui, comment il sait que tu as sauté une ligne à tel endroit ?

Il le sait parce que au moment où tu as appuyé sur ta touche Entrée, ben il a mis un "signe" lui permettant de se souvenir que c'est la qu'il doit aller à la ligne.

Ce signe, ca s'appelle un line feed.

C'est un caractère "special" qui ne se "voit pas" quand on ouvre le fichier texte à la main.

Cependant, quand tu l'ouvres avec PHP, PHP le voit.
Et il voit un \n à chaqe saut de ligne.
Donc en utilisant la fonction nl2br, PHP va remplacer tout les \n qu'il va rencontrer par des (balise qui permet le saut de ligne en html).

Petit exemple basique :

<?php
echo "toto vive la fete";
echo "toto\n vive la fete";
?>


Si tu executes ses deux codes, a priori, tu ne verras aucune différence sur ta page.
Seulement, si tu affiches le code source de ta page, tu verras que le résultat est différent : dans le premier cas, tout est sur une ligne, dans le deuxième, il y a un saut de ligne (à cause du line feed \n).

Esnuite, teste ceci :

<?php
$test = "titi\ntata";
echo $test;
echo nl2br ($test);
?>


Tu verras dans le deuxième exemple que PHP aura remplacé le line feed (\n) par une balise et que cela affichera un saut de ligne sur la page "html" générée.
LA GLOBULE
le 08/01/2005 à 00:09
Afich page par page + n colonne
Oui, c'est réalisable.

Si j'ai bien compris ton script, tu fais ton script de page par page autour de la requete $sq3.
Mais peut importe que tu affiches "autre chose" (le resultat de $sql2) dans ton page par page, ca ne change rien.

Regarde cet exmple simple :

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

$sql = 'SELECT count(id) AS nb_total_elements FROM table';
$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;
}

$sql = 'SELECT truc, muche FROM table ORDER BY truc ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
while($data = mysql_fetch_array($res)) {
$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]['truc'].'</td><td>'.$tablo[$i]['muche'].'</td>';

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

echo barre_navigation($temp['nb_total_elements'], $nb_affichage_par_page, $_GET['debut'], 10);
}
?>



Ca ne change rien que je rajoute une requete SQL sur une autre table et que j'affiche les résultats dans ma ligne :

<?php
echo '<td>'.$tablo[$i]['truc'].'</td><td>'.$tablo[$i]['muche'].'</td>';
?>


Au final, ca ne boulversera pas le page par page.

Je peux tres bien faire :

<?php
echo '<td>'.$tablo[$i]['truc'].' '.$toto.'</td><td>'.$tablo[$i]['muche'].'</td>';
?>


En admettant que $toto existe et qu'elle représente le résultat d'une requete.

Tu vois ce que je dire ? Ton $sql3 n'est liée à aucune autre requete.
LA GLOBULE
le 07/01/2005 à 23:41
configuration ?
C'est exact :)

Voici le message que j'ai déposé sur linuxfr.org :

Beaucoup d'hébergeurs tournant toujours sous PHP4, pour ce premier concours, il n'y aura aucun impératif de version : les participants pourront très bien produire du PHP4 ou du PHP5 (tout dépend de leur choix et de leur habitude).

Le sujet du premier concours peut très bien se faire en PHP4 ou en PHP5.
Aucun avantage sera donné à un participant qui code en PHP5.

Toujours dans le même domaine : les scripts des participants seront testés sous PHP 4.3.10 ou sous PHP 5.0.3 (suivant si le code produit est du PHP5 ou non).

La configuration du serveur de test :
- short_open_tag = Off
- asp_tags = Off
- register_globals = Off
- allow_call_time_pass_reference = Off
- error_reporting = E_ALL
- display_errors = On
Pour les magic_quotes, votre script devra s'adapter à la configuration du serveur.

Pour ce premier concours, aucune extension spécifique de PHP ne sera nécessaire (pas besoin de MySQL non plus).


Vala :)
LA GLOBULE
le 07/01/2005 à 23:02
lire un fichier sans connaitre le nombre de lignes
Alors :
1) tu n'as pas besoin de mettre de dans ton fichier texte (la fonction nl2br sert justement à remplacer les \n par des )
2) une variable ne peut contenir d'espace : $nouvelle_chaine et non $nouvelle _chaine.
LA GLOBULE
le 07/01/2005 à 18:40
Des concours plus courts ?
Ué, et connaissant Rex, je pense qu'il te met çà en PHP smiley

PS : d'ailleurs il me met çà à moi aussi :)
LA GLOBULE
le 07/01/2005 à 15:37
des exercices pour apprendre
Bonjour :)

Tout d'abord, en ce qui concerne les cours, je suis en train de les réécrire.
En effet, les cours datent du début du site, et je ne les ai presque pas modifié depuis.

Aujourd'hui, avec le retour d'expérience des questions posées sur le forum, je sais qu'ils ne sont pas très formateurs.

Patience donc :) (d'ici deux semaines, tous les cours seront modifiés)

Des exercices.
Pourquoi pas :)
LoadingChargement en cours