Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Site Web > PHP > Base de données > Lecture des commentaires

Vos commentaires sur :
Les conditions

Retour au tutoriel

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Pseudo Commentaire
Page : 1 
Hors ligne acid_burn # Posté le 07/05/2006 11:36:33
Avatar
Groupe : Membres
Merci beaucoup Shepard ! Tes cours sont vraiment de très bonne qualité !
Grâce à toi j'ai pu alleger beaucoup de mes codes !

Surtout ne t'arrête pas même si je sais qu'en ce moment c'est priorité au sdz ^^

Ps : Code : SQL
SELECT n.titre,n.contenu [...] (CASE WHEN n.visible = 1 THEN CONCAT(n.titre , ' [Cachée]') WHEN n.visible = 0 THEN n.titre ELSE n.titre END ) AS titre FROM news n WHERE n.visible>=0 ORDER BY n.id DESC LIMIT 0, 10


:'( J'en suis fière ...
 
Hors ligne Talus # Posté le 08/05/2006 18:33:53
タルス
Avatar
Groupe : Membres
Très bon Tuto, mais, dans uen de tes corrections, tu as fais une faute (poru l'etude des CASE avec la validtion des news') : tu as mis....
Code : SQL
SELECT id, titre, CASE WHEN validee = 1 THEN 'Validee' WHEN validee = 2 THEN 'En attente de validation' ELSE 'Etat inconnu' END AS validee_txt FROM news;


Alors que ceci aurait été plus correct :p :
Code : SQL
SELECT id, titre, CASE WHEN validee = 1 THEN 'Validee' WHEN validee = 0 THEN 'En attente de validation' ELSE 'Etat inconnu' END AS validee_txt FROM news;


En effet, sinon ca peut faire 'Etat Inconnu' au lieu du résultat escompté (à moins que ca soit fait intentionnellement :p )

EDIT (au lieu de faire un nouveau post :p ) > Pas de quoi ^^
 
Hors ligne Shepard # Posté le 08/05/2006 18:51:51
SQL Beginner ...
Avatar
Groupe : Membres
En effet, je me suis planté dans les chiffres ^^

Je corrige ça :) Merci de me l'avoir signalé :)

Sorry si ma signature a gêné, j'avais pas vu le sujet sur DG ... :s
 
Hors ligne toto # Posté le 08/06/2006 17:43:50
la vie n'est qu'une fête
Avatar
Groupe : Membres
Moi je n'ai que une question : A quand la suite :d

Merci pour le cours vraiment interessant, la structure est vraiment bien faites, l'exercice à chaque fin de chapitre est le bienvenue.

Merci à toi ;)
 
Hors ligne Arnaud # Posté le 01/10/2006 18:36:03
Avatar
Groupe : Membres
A quand la suite !!! :D

Tu t'est un peu arreté là...
 
Hors ligne Zimm i48 # Posté le 09/12/2006 19:50:04
Parés à virer ?
Avatar
Groupe : Membres
Assez hard comme premier TP non ? :-°
Malgré tout j'y suis venu à bout, et je me permet donc de te faire une critique:
ta requête pour obtenir la somme n'est pas sans faille, essaye un peu avec les valeurs NULL, -1, -1, NULL, NULL, -1 par exemple.
Le problème vient du fait que pour avoir un nombre différent de 0 si il est différent de NULL (oui je sais c'est un peu embrouillé ^^ ), tu ajoute 1. Sans penser que -1 + 1 = 0 !!! Donc s'il n'y a que des NULL et des -1, tu affichera NULL...
Par contre, la deuxième partie, le nombre de colonne, Bravo !!! J'ai galéré dessus et je n'aurais jamais songé à y parvenir comme ça. Perso, je me suis débrouillé en inventant une fonction NOT() qui, coup de bol, existait. :D

Bon c'est pas tout mais je suis pressé de voir la suite là.
Allez bon courage.

Rendez-vous sur Test-Pedago.fr, le site d'un projet libre de logiciels pour s'entraîner sur les tables de multiplication et les conjugaisons.


Wikiversité
 
Hors ligne Awaken # Posté le 24/01/2007 20:22:26
Avatar
Groupe : Membres
Très intéressant... on veut la suite !!

The greatest trick the Devil ever pulled was convincing the world he didn't exist.
 
Hors ligne Lpu8er # Posté le 29/04/2007 06:29:43
[R34n1m4T3d]
Avatar
Groupe : Membres
Who who who... Je savais mysql capable de conditions mais à ce point... ^^

Sinon, pour ce TP, voilà ma solution, soit dit en passant:
Code : SQL
SELECT id,
(IFNULL(i1,0)+IFNULL(i2,0)+IFNULL(i3,0),IFNULL(i4,0),IFNULL(i5,0),IFNULL(i6,0)) AS somme,
(IFNULL((i1 OR NULL),0) + IFNULL((i2 OR NULL),0) + IFNULL((i3 OR NULL),0) + IFNULL((i4 OR NULL),0) + IFNULL((i5 OR NULL),0) + IFNULL((i6 OR NULL),0)) AS nb_cols,
i1,i2,i3,i4,i5,i6 FROM probleme1;


Je sais, dépourvu de toute élégance, et probablement plus lent... Et faux, dans un sens (quoi que ce n'est pas précisé) car j'obtiens 0 pour la ligne où toutes les colonnes valent NULL... L'utilisation d'une variable et d'un CASE corrigerait alors probablement ça.

"Difficile" dans un sens, oui. J'avais même pas pensé aux fonctions précédentes (pas faute d'avoir fait mumuse dans tous les sens avec, mais l'arithmétique avec ces fonctions, j'ai du mal) comme COALESCE et autres...

"Thanks a lot" pour ce chapitre ! :D

Le or die(mysql_error()), nom d'un chien !!!
(et apprenez à concaténer avant de le faire)
 
Hors ligne patate_violente # Posté le 03/05/2007 21:22:29
Avatar
Groupe : Membres
Magnifique!
Ca a considérablement abaissé le nombre de mes requètes! :D

je vais lire le reste; mes bases font des codes trop lourd
merci

Patate_violente, fan d'effet spéciaux, de programmation, webuilding, http://www.weboufparty.com
 
Hors ligne karimaroc # Posté le 06/05/2007 13:05:44
Avatar
Groupe : Membres
Trop utile ce tuto , merci Shepard ! :p

A quand la suite ^^

Bonne journée ;)
 
Hors ligne CrazyDiver # Posté le 11/05/2007 10:57:06
Nutela powered !
Avatar
Groupe : Membres
Bravo pour ce tuto :)

A quand la suite ?

Le site de la Mazar'YVeTTe : http://vttyvette.free.fr
 
Hors ligne Snorky # Posté le 30/05/2007 17:47:25
Trop fort le sdz!
Avatar
Groupe : Membres
Impressionnant, je ne connaissais pas toutes ces prossibilités o_O


Merci pour ton tuto!!!
Hors ligne MorbaC++ # Posté le 30/05/2007 19:25:46
Lol !
Avatar
Groupe : Membres
Très bon tuto, merci à toi ;)

Par contre, allez savoir pourquoi, mes requêtes s'arrêtent à partir d'un certain nombre de caractères dans l'invité de commande de Windows XP, je ne pouvais donc pas écrire la reqûete en entière. Y a-t'il une façon de contourner le problème en divisant la requête en plusieurs lignes par exemple ?

Merci.

Image utilisateur
 
Hors ligne OAO # Posté le 31/05/2007 21:18:11
Avatar
Groupe : Membres
Beau travail :)

Une petite erreur dans une requete chapitre "traitement des nulls": il devrait y avoir Code : SQL
SELECT id, IFNULL(points, 0) / COALESCE(points, 1) AS a_deja_joue FROM ex_null;
au lieu de Code : SQL
SELECT id, IFNULL(points, 0) / COALESCE(points, 0) AS a_deja_joue FROM ex_null;
(sinon division par 0 :/ la copie d'écran est juste )

Et pour le dernier chapitre ta requete ne marche pas si tous les champs sont à -1 sauf le dernier: après Code : SQL
INSERT INTO probleme1 (i1, i2, i3, i4, i5, i6) VALUES (-1,-1,-1,-1,-1,NULL);
la dernière ligne a une somme à NULL.

Je pense qu'il faudrait changer Code : SQL
WHEN (((((i1 + 1 OR i2 + 1) OR i3 + 1) OR i4 + 1) OR i5 + 1) OR i6 + 1) IS NULL THEN 'NULL'
par Code : SQL
WHEN COALESCE(i1,i1,i3,i4,i5,i6) IS NULL THEN NULL


Ce qui donnerait Code : SQL
SELECT
        id, @somme := CASE
            WHEN COALESCE(i1,i1,i3,i4,i5,i6) IS NULL THEN NULL
                ELSE COALESCE(i1, 0) + COALESCE(i2, 0) + COALESCE(i3, 0) + COALESCE(i4, 0) + COALESCE(i5, 0) + COALESCE(i6, 0) END AS somme,
        6 + @somme - COALESCE(i1, 1) - COALESCE(i2, 1) - COALESCE(i3, 1) - COALESCE(i4, 1) - COALESCE(i5, 1) - COALESCE(i6, 1) AS nb_cols,
        i1, i2, i3, i4, i5, i6
FROM probleme1;


D'ailleurs pourquoi mets-tu des guillements autour de tes NULL?

En tout cas j'attend la suite avec impatience :) il y a qui de prévu? Les fonctions?

EDIT: et au niveau de la clareté celà ne serait pas mieux de mettre Code : SQL
COALESCE(i1, 0) + COALESCE(i2, 0) + COALESCE(i3, 0) + COALESCE(i4, 0) + COALESCE(i5, 0) + COALESCE(i6, 0) AS nb_cols
Celà évite 2 opérations (+6 et +@somme) et évite de rechercher une variable donc ca ne devrait pas être plus lent au contraire.. non?
 

Vous devez être inscrit pour pouvoir poster des messages

Retour au tutoriel

Nombre de connectés 623 Zér0s connectés | Requêtes SQL 8 requêtes | Temps de génération de la page 0.0249s (0.0104s)

Changer de design - Revue de presse - En savoir plus - Plan du site
Nous contacter - Mentions légales - Publicité
Politique d'accessibilité - Fil RSS - XHTML 1.0 - CSS 2.0

Y'a plus rien à lire, faut remonter maintenant !