Aller au contenu

ymhotep

Membre
  • Compteur de contenus

    5
  • Inscrit(e) le

  • Dernière visite

Messages postés par ymhotep

  1. Salut,

    Je pense qu'en utilisant les requêtes imbriquées cela doit fonctionner. Tu peux essayer par exemple :

    SELECT A.idAuteur, A.nomAuteur, COUNT(DISTINCT idLivre) AS NombreLivre, COUNT(DISTINCT idFilm) AS NombreFilm, T.dernier_film
    FROM tLivre L LEFT JOIN tAuteur A ON L.idAuteur = A.idAuteur
    LEFT JOIN tFilm F ON F.idAuteur = A.idAuteur
    LEFT JOIN (
    SELECT idAuteur, nomFilm AS dernier_film
    FROM tFilm F1
    WHERE dateRealisation = (
    SELECT max(dateRealisation) FROM tFilm F2 WHERE F2.idAuteur = F1.idAuteur )
    ) T ON T.idAuteur = A.idAuteur
    GROUP BY A.idAuteur, A.nomAuteur;

    J'éspère que cela fonctionne car je ne peut pas la tester. Croisons un maximum de doigts :P

  2. Désolé :wacko: , j'avais oublié qu'il fallait ajouter un alias à la fin de la requête (par exemple T) :

    SELECT max(alias_col) FROM ( SELECT max(id) as alias_col FROM table1 UNION SELECT max(id) FROM table2 ) T

    j'éspère que cette tout sera ok ;)

  3. Salut,

    register_global = off : cela veut dire que tu ne peux pas utiliser les variables php sans préciser d'où elles viennent ($_GET, $_POST, $_SESSION, $_COOKIE, ...). Par exemple, si tu as un formulaire avec un champs = nom, et que tu l'envoi en POST, pour récuperer la variable tu dois utiliser $_POST["nom"] et non plus simplement $nom.

    Ainsi avec register_global = on, les variables $_POST["nom"] et $nom sont identique.

    Juste pour info, register_global = off est initialisé à off par défaut dans php.ini depuis PHP 4.2.0

    safe_mode = on : un certain nombre de fonctions sont limitées ou désactivées (celles dédiées aux commandes systèmes, notamment). On trouvera ici une liste des fonctions affectées par l'activation du safe_mode. De plus, une vérification stricte des permissions d'accès des fichiers (basées sur l'UID et le GID) est faite sur les fonctions concernées. Enfin, les variables d'environnement sont protégées.

    Voila j'espère avoir été clair. ;)

  4. Salut,

    Pour créé des résultats multi-pages, tu dois tout d'abord récupérer le numéro de la page sur laquelle se trouve l'utilisateur avec par exemple :

      if (isset($_GET["numPage"]))
     $pageCourante = $_GET["numPage"];
    else
     $pageCourante = 1;

    Ensuite tu dois imiter le nombre de résultat à récupérer par la requete à l'aide de LIMIT ligneDebut, NbLignes.

    Pour calculer la valeur de ligneDebut tu peux faire : $ligneDebut = ($pageCourante * 20) - 20

    Ensuite dans la requete, on a :

     $reponse = mysql_query("SELECT * FROM jeux_videos LIMIT $ligneDebut, 20);

    Enfin, tes liens Suivant et Précédents seront de cette forme :

      <a href="ma_page.php?numPage=$pageCourante-1>Précédent</a>
     <a href="ma_page.php?numPage=$pageCourante+1>Suivant</a>

    Juste pour complément, si tu souhaite afficher en plus de Suivant et Précédent des liens pour chaque page, il faut que tu calcules le nombre total de lignes ramené par la requete générale et que tu divises ce nombre par le nombre de lignes à afficher :

     $res = mysql_query(SELECT count(1) FROM jeux_videos);
    $row = mysql_fetch_row($res);
    $ligneTotal = $row[0];

    $nbPage = ceil($ligneTotal / 20);

    Ensuite tu affiche les liens de la meme facon que pour suivant et précédent.

    Voila, j'espère que cela t'aidera.

×
×
  • Créer...