Aller au contenu

Probleme SQL


Ryo

Sujets conseillés

Bonjour,

Déja voila mon code:

if (isset($_GET['lettre']))
{
  $lettre = $_GET['lettre']; // On récupère le nom de la lettre
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
  $lettre = 'chiffre'; // On se met sur la page des chiffres (par défaut)
  //mon erreur viens peut-etre de là
  //si je met $lettre = '0'; ce me retourne les om commencant pas 0 or je voudrai aussi les nom commencant par 1, 2,3 , etc...
}

// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo '<div id="listeDeChiffreOuLettre">Début : ';

if($lettre == 'chiffre')
{
  echo '<span>0..9</span> ';
}
else
{
  echo '<a href="index.php?lettre=chiffre">0..9</a> ';
}
for ($i = 'A'; $i != 'AA'; $i++)
{
  if ($i == $lettre)
  {
     echo '<span>'.$i.'</span> ';
  }
  else
  {
     echo '<a href="index.php?lettre=' . $i . '">' . $i . '</a> ';
  }
}

// On récupère le nombre total d'image pour la lettre
$reponse = mysql_query('SELECT COUNT(*) AS nbMessage FROM Images WHERE nom_image LIKE "'.$lettre.'%"');
$donnees = mysql_fetch_array($reponse);
$totalDePhoto = $donnees['nbMessage'];

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

if (isset($_GET['page']))
{
  $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse
}
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)
}

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

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


$reponse = mysql_query('SELECT * FROM Images WHERE nom_image LIKE "'.$lettre.'%" ORDER BY nom_image ASC LIMIT ' . $premiereImageAafficher . ', ' . $nombreDePhotoParPage.'');

Mon probleme est que je ne trouve pas la requete SQL pour pouvoir sortir tous les nom_image qui commence par 0 ou 1 ou 2 ou 3 etc...

je débute dans la prog web...

PS:Vous pouvez me dire en meme temp si ma facon de programmer et bonne ??

PS: le script pour les lettres marche bien, il ne me manque qu'a trouver pour les chiffres

Lien vers le commentaire
Partager sur d’autres sites

Ta requête doit être comme suit pour rechercher les images dont le nom commence par un chiffre :

SELECT COUNT(*) AS nbMessage FROM Images WHERE nom_image REGEXP "^[0-9]"

Ou :

SELECT COUNT(*) AS nbMessage FROM Images WHERE nom_image REGEXP "^[[:digit:]]"

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup!!

Je viens de tester ca marche trés bien :)

Et par la meme occasion je viens d'apprendre que l'on peut utiliser les regex dans une requetes SQL...

je me coucherais moin bete ce soir !!!

Encore merci !!

Bye

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...