extraction d'un n°

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : extraction d'un n°

par Cyrano » 16 déc. 2006, 11:18

super ça marche. même si je l'avoue je ne comprends pas tout à la syntaxe.
Alors n'hésite pas à poser des question, sinon dans un mois, dans six mois ou dans deux ans, tu sera toujours à la recherche de solutions. Bien comprendre une syntaxe peut te faire avancer beaucoup plus facilement ;)

par cmoi » 16 déc. 2006, 11:06

super ça marche. même si je l'avoue je ne comprends pas tout à la syntaxe.

par Ajoloca » 16 déc. 2006, 00:47

Re,

Pourtant tu n'est pas bien loin.

Tu as des soucis de syntaxe, tu colles toutes tes concaténtions (il n'y a pas d'espace).

Il faut toujours tester le retour de MySQL.
Si tu l'avais fat tu te serais rendu compte que la requête n'est pas correctement construite.

De plus $i il ne te sert plus à rien (plus de rangs à chercher, tu n'en a qu'un)
Essaie ceci mais en essayant de comprendre
<?php
    $table = "formateurs"; 
    $sql = "SELECT * FROM " . $table . " ORDER BY id DESC LIMIT 0,1"; 
    $res = mysql_query($sql) or die('ERR_SQL :<br />' . $sql . '<br />' . mysql_error()); 
    echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#666666"><b>'. mysql_result($res, 0, "id").'</b></font>';
?>

par cmoi » 16 déc. 2006, 00:34

voici où j'en suis et qui ne fonctionne évidemment toujours pas !
      <?php
	   $table = "formateurs"; 
    $sql = "SELECT * FROM " . $table."LIMIT 0,1"."ORDER BY id DESC"; 
    $res = mysql_query($sql); 
    $nb = mysql_num_rows($res);
    $i = 0; 
    echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#666666"><b>'.mysql_result($res, $i, "id").'</b></font>';
	 $i++; 
   	?>

par Ajoloca » 15 déc. 2006, 23:46

Bonjour,
Avec ça
Comme pour le précédent message, "Bounjour" et "s'il vous plait", c'est pas cher et ça fait plaisir. :-k

Regarde du coté du SQL et plus particulièrement LIMIT et ORDER BY
plus le lein que t'a donnée charabia tu devrais arriver facilement.

Tu dois modifier ta requête pour quelle ne te donne que un rang "LIMIT 0,1" mais ce rang doit être celui du "id" le plus grand il te faut don trier le résultat du plus grand au plus petit "ORDER BY id DESC".

Comme là tu n'as qu'un résultat, dans ton PHP tu n'as plus besoin de ta boucle while().

Essaie de le le faire avec ses infos.

par cmoi » 15 déc. 2006, 23:24

Merci pour la doc mais je ne m'en sors pas.
<?php
	   $table = "formateurs"; 
    $sql = "SELECT * FROM " . $table; 
    $res = mysql_query($sql); 
    $nb = mysql_num_rows($res);
    $i = 0; 
    while ($i < $nb){ 
	echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#666666"><b>'.mysql_result($res, $i, "id").'</b></font>';
	 $i++; 
    } 
   	?>
Je dois trouver la dernière valeur du champ id.
Il faut utiliser peut-être Limit, peut-être Count. Mais comment ?
Merci d'avance pour votre aide précieuse.

par charabia » 15 déc. 2006, 12:47

Un peu de doc pour les néophytes ;)

:arrow: http://www.phpdebutant.org/article84.php

par cmoi » 15 déc. 2006, 12:35

Limit ça sonne bien. Mais comme je suis totalement néophyte, c'est la syntaxe qui me manque.

par zeus » 15 déc. 2006, 12:29

Comme pour le précédent message, "Bounjour" et "s'il vous plait", c'est pas cher et ça fait plaisir. :-k

Regarde du coté du SQL et plus particulièrement LIMIT et ORDER BY

extraction d'un n°

par cmoi » 15 déc. 2006, 12:27

<?php
	   $table = "formateurs"; 
    $sql = "SELECT * FROM " . $table; 
    $res = mysql_query($sql); 
    $nb = mysql_num_rows($res);
    $i = 0; 
    while ($i < $nb){ 
	echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#666666">'.'<b>'.mysql_result($res, $i, "id").'</b>'.'</font>';
	 $i++; 
    } 
   	?>
Ce script m'affiche la suite des identifiants : 1 2 3 4 5 ...

Je souhaiterais qu'il n'affiche que le dernier. Merci pour votre aide.