LupusMic

  • Signature
    Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    1 684
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Gourou

Ses derniers messages sur les forums

LupusMic
le 21/09/2013 à 17:07
Joindre une table sur elle-même
Il y au moins deux type de jointures : laxiste (left) et stricte (right). Le type de jointure par défaut dépend souvent de l'implémentation, il est donc recommandé de préciser ce que tu veux.

Dans les exemples, j'utilise volontairement une notation indépendante de SQL, un peu plus mathématique. C'est pour épurer la démonstration des détails d'implémentation des bases SQL.
(a 0 1) signifie « ensemble 'a', ligne '0' colonne '1' ». C'est l'identifiant (les coordonnées) d'une donnée, ce n'est pas la donnée en elle-même.

Une jointure, c'est multiplier deux ensembles (produit cartésien):

Ensemble a:
(a 0 0) (a 0 1) (a 0 2)
(a 1 0) (a 1 1) (a 1 2)
(a 2 0) (a 2 1) (a 2 2)

Ensemble b:
(b 0 0) (b 0 1) (b 0 2)
(b 1 0) (b 1 1) (b 1 2)

Ensemble a×b

(a 0 0) (a 0 1) (a 0 2) (b 0 0) (b 0 1) (b 0 2)
(a 0 0) (a 0 1) (a 0 2) (b 1 0) (b 1 1) (b 1 2)
(a 1 0) (a 1 1) (a 1 2) (b 0 0) (b 0 1) (b 0 2)
(a 1 0) (a 1 1) (a 1 2) (b 1 0) (b 1 1) (b 1 2)
(a 2 0) (a 2 1) (a 2 2) (b 0 0) (b 0 1) (b 0 2)
(a 2 0) (a 2 1) (a 2 2) (b 1 0) (b 1 1) (b 1 2)


Comme tu peux le constater, tu dupliques chaque tuple (une ligne dans un ensemble de données) du premier ensemble autant de fois qu'il y a de tuples dans l'ensemble à joindre, et tu associe à chaque copie un tuple du second ensemble.

En SQL, ce serait l'équivalent de :

select * from a, b;


Les jointures, c'est un produit cartésien avec une condition de jonction.

Par exemple, tu peux dire que la colonne a.0 doit être égale à a.1 pour que les tuples puissent être associés. C'est là que tu auras une différence entre la jointure laxiste et la jointure stricte : dans le premier cas, si le critère n'est pas respecté, le tuple de l'ensemble associé sera nullifié ; dans le second cas, la ligne d'association sera retirée de l'ensemble résultant de la jointure.

Dans l'exemple, on considère que (a 0 0) égal (b 0 0).

Ensemble a×b si (a 0) égal (b 0) sinon null

(a 0 0) (a 0 1) (a 0 2) (b 0 0) (b 0 1) (b 0 2)
(a 1 0) (a 1 1) (a 1 2) ( null) ( null) ( null)
(a 2 0) (a 2 1) (a 2 2) ( null) ( null) ( null)


Ce qui équivaut à :

select * from a left join b on a.0 = b.0;


Ensemble a×b si (a 0) égal (b 0)
(a 0 0) (a 0 1) (a 0 2) (b 0 0) (b 0 1) (b 0 2)


Ce qui équivaut à :

select * from a right join b on a.0 = b.0;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/09/2013 à 16:32
Randomisation de Password
Mais comment sauras-tu quel mot de passe employer pour t'authentifier ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 16/09/2013 à 12:01
replacer upload file par upload url ?
(ce serait sympa d'utiliser le bbcode pour formater le code)

Tu devrais lire le tutoriel d'introduction, je pense que ça te dépannerais.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 16/09/2013 à 11:57
moteur de recherche
Attends, j'ai mis le fouet de côté smiley

Bon, ce n'est pas à proprement parler un problème lié à PHP ou MySQL. Je ne connais pas cPanel (à part de nom), mais j'imagine qu'il doit y avoir de la documentation qui couvre cette fonctionnalité. Aurais-tu un lien vers cette documentation ? L'as-tu lu ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 15/09/2013 à 23:12
moteur de recherche
Il semble que ça fonctionne : il ne trouve aucune réponse.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 13/09/2013 à 15:23
replacer upload file par upload url ?
Un forum d'aide suppose que nous ne sommes pas à ton service, et que tu fasses l'effort d'être intelligible. C'est un manque de respect absolu que de ne pas faire un effort dans la rédaction de ses messages.

Il n'y a pas de solution puisqu'il n'y a pas de problème.

La programmation, c'est avant tout communiquer avec d'autres programmeurs. J'ai soumis ce fil de discussion à mes amis, et il n'y en a qu'un qui semble deviner ce dont tu as besoin. C'est un développeur qui est aussi chef scout, et qui a donc l'habitude d'interprété ce que disent ou écrivent des enfants.
Selon son interprétation tu souhaites créer un annuaire de liens. Dans ce cas c'est simple. Tu créés un formulaire :

<form action="." enctype="multipart/form-data" method="post">
<p>
<label>Lien&nsp;: <input name='url'>
<input type='submit' value='Ajouter'>
</p>
</form>


Puis tu gères côté serveur :
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
// Traitement des données soumises par le formulaire
}


Mais je parie que ce n'est pas ça, puisque dans ton formulaire, tu as un 'input' de type 'file'.

PS: si tu ne fais pas d'effort pour être intelligible, je fermerai la discussion.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 13/09/2013 à 12:31
replacer upload file par upload url ?
La ponctuation, c'est vital.

Si c'est tellement simple, tu devrais pouvoir te débrouiller.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 12/09/2013 à 19:26
replacer upload file par upload url ?
Ceci m'aiderait fortement à comprendre ce que tu écris. Car là, ça ne veut rien dire.

Je ne suis non plus pas professeur, ça n'a strictement rien à voir avec le fait d'écrire correctement. Développer, c'est avant tout écrire. Si tu n'es pas capable de structurer des idées dans un texte dans ta langue maternelle, tu ne seras jamais capable de structurer tes idées dans un code source.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours