moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 14/02/2005 à 19:55
Initiation au PHP
Salut,

bienvenu parmis nous !

Dans la section Comment faire tu trouvera un lien ` un forum` http://www.lephpfacile.com/howto/index.php?p=1 !

Pour ce qui est de télécharger mysql il me semble bien avoir vu un liens download dans le menu de gauche (juste au dessus de forum !!!!)

Pour tour sur le site !

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 14/02/2005 à 14:34
session
ben de rien smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 14/02/2005 à 02:05
authentification
Salut,

comme Meeper, je ne saisi pas trop ta question !

ou est ce que tu bloque exactement ?
- dans la conception des tables ?
- dans l'insertion d'un nouvel utilisateur suivant tes tables ?

ce que je ferais !

J'ai retenu que ne voulais pas qu'un code postal soit utilisé par plusieurs utilisateur. Mais qu'un utilisateur pouvasi utiliser plusieur code postaux !
3 tables :
- une table utilisateur
- une table code_poatal (qui contient les codes postaux que tu souhairte utiliser)
- une table pour faire la jonction de tous sa !

la table utilisateur doit avoir une clef primaire auto_increment (plus facile a gérer :) ) que j'appele id

la table code_postal (//ta le droit de mettre au pluriel :) )
id => auto_increment int(6)
code int(5)
utiliseer enum ('0','1') // pour faire un booléens 0 ou 1! avec enum 2 valeur possible (dans notre cas !) 0 ou 1 0 est la valeur par défaut donc pas besion de la préciser a la cération du code postal !
quand un code est utilisé tu met 1 si non 0 (par defaut)

la dernier table => jonction !
id auto_increment int(6)
id_utilisateur int(6)
id_code int(6)

Utilisation de tout cela !

pour que les utilisateurs choisissent leur(s) code(s) postal(aux) tu fait un select sur la table code_postable avec un where utiliser = "0" afin de n'afficher que les code non utilisé .
J'afficherais cela avec des checkbox et un affichage multicolone (dans les astuces )!
les checkbox doit avoir un nom dans ce style la nom[] afin de récupérer un tableau qui contiendra les codes sélectionnés ! ATTENTION toutes les checkbox doivent avoir le meme nom !

ensuite plusieur requete !
la 1er il te faut récupérer l'id du membre (je te sugère de le mettre en variable de session !)
ensuite pour chaque valeur selectionné
- update dans la table code_postal
=> UPDATE code_postal set utiliser ="1" where id="code recupérer" !
deuxième requete sur jonction cette fois ci
insert into jontion values ('','id utilisateur', 'id code postale';

comme tu la compris ce code fonctionne en mettant en value des checkbox l'id de la table code (donc pour l'affichage un select id,code !) !

pour parcourir le talbleau utilse foreach

Voila j'espère que tu a tenu jusque la et tu a compris ma démarche et surtout que j'ai bien cmpris ce que tu voulais smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 14/02/2005 à 01:40
session
Re,

Bouton suivant et précédent !

Les requetes avec dedans WHERE auteur='lauteur' && id >'13' LIMIT 1; ou avec un < doivent répondre a ta question !
pour faire plus simple avec un tableau !
tu peut fair un select id from table where auteur='le_nom_lauteur';
ensuite dans le while tu met $tablo[] = $data['id'];

apres tu va avoir un tablo $tablo ! je te conseil de le mettre en session afin de ne pas faire cette requete a chaque affichage de la page !

ensuite tu feras la selection du livre a afficher en fonction de la clef du tableau $tablo et la tu peut facilement faire un +1 ou -1 (car le tableau a des clef qui se suivent !) et dans ton tableau il y a l'id du livre a afficher! a partir de la une bete requete sql avec un where id = id feras l'affaire !

pour remplir le tableau
<?php
if (isset($_SESSION['id_livre'])) {
// selection des id qui corresspondent aux livres de l'auteur selectionné
$sql = 'ta requete'; //vais pas tout faire :)
$req //query
while($data = mysql_fetch_assoc($req)) {
$tablo[] = $data['id'];
}
//On a le tablo on le met dans une variable de session pour ne pas a avoir a refaire sa a chaque fois !
session_start();//s'il n'est pas déja fait
$_SESSION['id_livre']=$tablo;
}
?>

sa c'est en début du script. Maintenant la selection du livre et le bouton !

tu cherche a savoir la variable d'url id existe et n'est pas vide (ou NULL)
<?php
if ( ) {
//la variable existe et n'est ni NULL ni vide
$id = //la variable
}
else {
//permet de définir un id par défaut !
$id = 0;
}

//ensuite l'affichage du livre
//requete sql
$sql = 'SELECT info FROM table WHERE id="'.$_SESSION['id_livre'][$id].'"';
//je rappelle que l'on a mis un tableau dans $_SESSION['id_livre'] !
$req//
while ....

// Les boutons précédent et suivant !
//bouton précédent
if ($id != 0) {
$a = $id -1;
echo '<a href="?id=',$a,'" title="Précédent">Précédent</a>';
}
else {
//on est le premier livre (enfin le premier dans le tableau !)
// 2 solutions tu met l'id du dernier livre selectionné soit pas de bouton précent
// pur le 1er cas utilise count() -1 pour avoir la clef utile
}

// pour le bouton suivant meme genre
if ( $id != (count($_SESSION['id_livre'])-1) ) {
// On est pas sur la dernière page !
$b = $id +1;
echo '<a href="?id=',$b,'" title="Suivant">Suivant</a>';
}
else {
// t'est sur la dernière page
// meme constat que sur la 1er affichage ou page du bouton
//en cas d'affichage tu met lien vers le 1er livre (donc avec id =0)
}
?>


Je te rappelle que ce que j'appelle ( a tors) id qui est passé par l'url n'est pas l'id l'id du livre mais la clef primaire du tableau qui contient les id des livres !

Voila j'espère que tu a compris :)

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 13/02/2005 à 01:31
session
ben te rien :) si tu encore d'autre question on sera encore la :) (enfin demain manant :) )

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 23:36
Petit prob de fonction !
bon on avait tous raison, t'avais pas les bonnes infos smiley


comment sa je flood :)

--------------->[]

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 23:29
session
Regarde bien mes requete sonia, j'ai indiqué l'auteur dans la clause where ainsi qu'une condition sur la valeur de l'id

<?php
// pour le bouton suivant !
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id > "'.$id.'" ORDER BY id ASC LIMIT 1';
// pour le bouton précédent
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id < "'.$id.'" ORDER BY id ASC LIMIT 1';


Lorsque tu met id > id_actuel dans le where, tu selectionne tout les tuples qui ont un id supérieur a l'id actuel ! dans la clause, il y a aussi auteur =$auteur ce qui restreint a l'auteur concerné ! Ensuite il y a : LIMIT 1 ce qui me permet de ne retrouner que ke 1er tuple du résultat. Donc le résultat de la 1er va etre le 1er tuple dont l'id est supérieur a celui que l'on a deja et dont l'auteur et celui que l'on a déja !
smiley Sa me parait compliqué comme phrase nan ?

Pour le bouton suivant c'est la meme logique mais la ont utilise inférieur smiley !

Il faut que tu fasse attention a vérifier le nombre de tuple retourné par la requete car lorsque tu sera 'arrivée' au dernier bouqion a afficher le bouton suivant ne doit pas afficher d'erreur (tu auras zéro tuples avec ma requete !) donc tu peut faire une requete afin d'optenir le plus grand id d'un auteur déterminer !
SELECT MAX(id) as maxi from table WHERE auteur ='machin';
avec sa tu récupére l'info maxi qui sera le grand id de l'auteur machin !

si tu met min a la place de max c'est l'inverse !

tu peut donc ainsi inhiber les boutons afin de ne pas faire planter une requete smiley

J'espère que ta compris ce que j'ai mis smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 18:54
Faire de son ordi un serveur
Salut, il n'est pas conseillé d'utiliser easyphp pour un server de production ! regarde dans leur faq je crois que c'esr expliqué !


Si non le mieux est d'installé le server a la mano histoire de comprendre comment on fait, ensuite cherche des tutos sur la sécu d'apache !

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 18:46
utiliser SQLite
j'ai oublié !

install sqlite manager (correspond a phpmyadmin version sqlite !).

c'est assez bien expliqué sur l'utilisation, il faut juste indiquer un fichier qui va contenir la base ! (tu le creer dans une répertoire ou le server peut écrire !)

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 12/02/2005 à 18:44
utiliser SQLite
Salut,

au dessus des lignes extensions y a sa

;Windows Extensions


smiley

normalement pas de manip a faire quand tu compil php sous nux (ou utilisation sous win) il me semble (de mémoire) que sqlite est intégré a php5 !

Je suis sous FC3, voici mon configure

./configure' '--with-config-file-path=/usr/local/apache/conf' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql' '--with-enable-ftp' '--with-zlib' '--with-freetype=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-png-dir' '--with-tiff-dir' '--with-gif-dir' '--with-jpeg-dir'


dans mon phpinfo() je peut voir ceci :

SQLite
SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c,v 1.146.2.3 2004/09/26 01:41:40 wez Exp $
SQLite Library 2.8.14
SQLite Encoding iso8859

Directive Local Value Master Value
sqlite.assoc_case 0 0


sous windows sqlite est la aussi, sans pour autant avoir sélection quoi que soit dans le php.ini smiley

Donc tu devrait pouvoir utiliser sqlite sans soucis !

smiley
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours