Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: FireLink le le 22-03-2003 a 00:48:55

Titre: Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 00:48:55

Je fais un proj de script de gamertags en php et je suis sur que je vais avoir bcp de problèmes!

Donc voici le topic des problèmes de ce scrips... Je vous demande donc de m'aider si vous connaissez la réponse...

Image maquette du projet:



En passant à date j'ai pas de probs...

Titre: Re:Topic multi-problèmes!
Posté par: POde.uk le le 22-03-2003 a 00:55:41

excuse moi, c'est peut être l'heure mais j'ai pas très bien compris la question :(

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 01:04:38

il y a aucune question pour l'instant mais g fait ce topic pcq je suis sur que je vais avoir bcp de questions...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 01:33:16

bon, j'ai fait le module d'inscription et tout marche a merveille.

mais pour le module de recherche, je vois vraiment pas... avez-vous une idée

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 22-03-2003 a 10:15:02

Tu veux rechercher des informations dans uns base MySQL, c'est ca ?

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 12:31:32

oui car ca serait très difficile de trouver les infos dans un fichier texte...
voici un shéma de ma DB


Code:
Base de données gamertag sur le serveur localhost
# phpMyAdmin MySQL-Dump
# version 2.2.6
# http://phpwizard.net/phpMyAdmin/
# http://www.phpmyadmin.net/ (download page)
#
# Serveur: localhost
# Généré le : Samedi 22 Mars 2003 à 06:30
# Version du serveur: 3.23.49
# Version de PHP: 4.2.0
# Base de données: `gamertag`
# --------------------------------------------------------

#
# Structure de la table `gamertag`
#

CREATE TABLE gamertag (
id tinyint(4) NOT NULL auto_increment,
gamertag varchar(20) NOT NULL default '',
pass varchar(10) NOT NULL default '',
email varchar(50) NOT NULL default '',
jeux longtext NOT NULL,
region varchar(30) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

#
# Contenu de la table `gamertag`
#

INSERT INTO gamertag VALUES (1, 'Fire_Link', 'password', 'hyliandiary@iquebec.com', 'jsrf, amped, halo, sega gt 2002', 'paris');


En passant, je voudrais aussi le crypter ou hasher (password) comment faire?


Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 13:55:16

j'ai la ligne de code...

select * FROM gamertag WHERE region LIKE '%$res%'

mais je fais koi pour afficher toutes les données des enregistrements de cette table?

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 14:18:17

ok... g fait ce kil faut...

mé rien ne s'affiche :'(

Code:
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on séléctionne la base
mysql_select_db('gamertag',$db);

// on créer la requete SQL et on l'envoie
$sql = "select * FROM gamertag WHERE region LIKE '%france%'";

// on envoie la requete
$datas = mysql_query($sql) or die(mysql_error());

// on affiche les informations de lenregistrements en cours
if ($line = mysql_fetch_array($datas))
echo '<b>'.$line["gamertag"].', '.$line["email"].'</b> ('.$line["jeux"].', '.$line["region"].')';
// on ferme la connexion à mysql
mysql_close();
?>

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 22-03-2003 a 15:41:44

je suis bête... dans la DB c écris paris c pour ca ke ca fonctionne pas!

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 23-03-2003 a 00:18:44

tout marche a merveille pour les 2 modules de recherche et g ossi fini le module de modification des infos...

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 24-03-2003 a 12:49:39

oki ;-)
Tu fais ton topic question-réponses ? ;D :P

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 25-03-2003 a 01:05:51

fo croire... mé la g vraiment un pb je je suis resté depuis 2 jours dessus

8:<?php
9:
10:$link = mysql_connect("localhost", "xboxgennet4", "XXXXX");
11:mysql_select_db("xboxgennet4", $link);
12:
13:$result = ("SELECT * FROM gamertag WHERE region LIKE canada");
14:$num_rows = mysql_num_rows($result);
15:
16:echo "$num_rows";
17:
18:?>

La page est http://www.xboxgen.net/gamertag/test2.php

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 25-03-2003 a 13:46:31

PK tu l'as edit shain?

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 25-03-2003 a 14:20:44

tu avais mis ton mot de passe !!!!

De prime abord je ne vois pas d'erreur ?!

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 25-03-2003 a 23:59:39

arf... distraction... merci shain!

qq1 dotre sait la réponse... ca fait 2 jours, je sens ke je vais péter les plombs...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 26-03-2003 a 00:19:48

ENFIN C TROUVÉ

merci à Archi du chan #webmasters d'epiknet

la ligne est

$result = mysql_query("SELECT * FROM gamertag WHERE region = 'canada'");

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 26-03-2003 a 11:53:19

Quel boulet je suis, j'aurais sans doute pu t'aider si j'y avais réfléchit à 2 fois ! Désolé !

Bon enfin l'essentiel c'est que tu ai ta réponse ;-)

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 26-03-2003 a 13:53:11

pas grave, merci d'y avoir réfléchi qd mm

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 28-03-2003 a 13:38:47

Un autre problème...

Comment prendre les 5 plus populaires expressions dans 1 colonne??
merci d'avance!

et aussi comment faire pour ke plusieurs variables s'enregistrent dans un menu déroulant multiple?

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 29-03-2003 a 23:50:36

Citation:
Comment prendre les 5 plus populaires expressions dans 1 colonne??
merci d'avance!


eh bien en fait si ce sont des articles par exemple tu comptes les clics dessus par exemple et puis tu affiches les 5 articles ayant le plus de clics.

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 04-04-2003 a 01:09:42

non, c'est pas ça... pour compter les jeux les plus populaires sur un scripts de gamertags...

je maintiens ma question pour le menu déroulant...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 05-04-2003 a 22:38:24

autre question...

<?
$db = mysql_connect('localhost', 'xboxgennet4', '********'); // connexion à la base
mysql_select_db('xboxgennet4', $db); // sélection de la base
$requete = "SELECT * FROM clans";
$result = mysql_query($requete) or die(mysql_error());

while($array=mysql_fetch_array($result));
{
print("$array[nom]");
}
mysql_close();
?>

ca affiche rien pk??

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 09-04-2003 a 23:48:16

Ton code m'a l'air correct ... tu as bien un champ "nom" dans ta table ? Sinon je ne vois pas ...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 11-04-2003 a 01:21:13

Erf... j'ai corrigé et oblié de mettre la soluce...


Code:
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'xboxgennet4', '********');

// on séléctionne la base
mysql_select_db('xboxgennet4',$db);

// on créer la requete SQL et on l'envoie
$sql = 'SELECT id,nom FROM clans';

// on envoie la requete
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrements
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrements en cours
echo '<a href=viewclan.php?id='.$data['id'].'>'.$data['nom'].'<br>';
}

// on ferme la connexion à mysql
mysql_close();
?>


mais je maintiens toujours ma question... comment faire fonctionner le select multiple...

J'ai une petite idée en JS... kan on en select un, ca je rajoute dans un autre input... mais comment?

Titre: Re:Topic multi-problèmes!
Posté par: Shain le le 11-04-2003 a 10:55:45

Citation:
J'ai une petite idée en JS... kan on en select un, ca je rajoute dans un autre input... mais comment?


Là c'est effectivement plus du JS ... faudrait se pencher sur lma question. C'est faisable c'est sur. Je n'ai pas trop le temps, c'est dommage. Ce que tu peux faire c'est regarder comment les autres sites le font ...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 12-04-2003 a 00:02:00

vé m'informer sur le forum de l'éditeur javascript et il y aura surement qq1 pour m'aider... entre temps si qq1 le sais, hésitez pas...

Titre: Re:Topic multi-problèmes!
Posté par: Zorf le le 12-04-2003 a 13:41:04

Les listes (et les checkbox..) multiples doivent être traités en php comme des tableaux...
ex de page html qui contient la liste:

Code:
<select name="maliste[]" size="3" multiple id="maliste[]">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
</select>

on remarque bien le [] à la fin du nom du champ, caractéristique d'un tableau..

dans la page qui traite le résultat (quand on clic sur le bouton), il faudra analyser cette variable comme un tableau (foreach, for, etc...)
ex:

Code:
foreach ($maliste as $k) {
if ($k == 'e') echo 'E a été sélectionné...';
else echo 'Pas de E';
}

(Pas testé, mais ça doit marcher ;))

PS: Evite les "Select *"... défini plutôt tous les champs dans ta requête: "Select nom, ville, chose, truc Where...", question de performances..

-- Zorf

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 12-04-2003 a 18:21:36

Le premier code, je le comprend très bien, mais le 2eme... arf... je vois pas... Pourrais tu expliquer en clair ce ke c'est...

Titre: Re:Topic multi-problèmes!
Posté par: Zorf le le 12-04-2003 a 19:25:56

Dans la page contenant ton formulaire l'utilisateur à pu faire des sélections multiples... donc maintenant il faut traiter les valeurs correspondantes pour savoir ce qu'il a entré.

La fonction foreach (à partir de php 4) permet de passer en revue toutes les valeurs d'un tableau.
Donc on vérifie chaque valeur du tableau l'une après l'autre (le tableau ne contient que ce qu'a coché l'utilisateur) et on effectue les actions en conséquence


Code:
foreach ($maliste as $k) {
if ($k == 'valeur_a') {
// si a est selectionné
}
elseif ($k == 'valeur_b') {
// si b..
}
// etc.. pour chaque valeur possible
}


Pour plus d'infos à propos de cette fonction: http://www.php.net/manual/fr/control-structures.foreach.php

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 13-04-2003 a 00:32:34

Ça n'aurait pas fonctionné dans mon cas...

voici mon autre code...


Code:
$jeux=""; foreach($_POST as $value){$jeux="$jeux,$value";}


mais ca bogue... ca met toutes les valeurs de tous les enregistrements en une variable et pour ce ki est des variables du champ que je veux ca met array :'((((

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 17-04-2003 a 00:44:15

SVP, avez-vous une solution?

Titre: Re:Topic multi-problèmes!
Posté par: Zorf le le 17-04-2003 a 13:41:46

euh...


Code:
$jeux=""; foreach($_POST['champdesjeux'] as $value){$jeux.=",$value";}


ça ne traitera que l'array des jeux...

Titre: Re:Topic multi-problèmes!
Posté par: FireLink le le 17-04-2003 a 14:21:34

Fonctionne pas :'( voici l'erreur ke ca me renvoie

Warning: Invalid argument supplied for foreach() in /home/opt3/local/apache/htdocs/sites/x/xboxgen.net/gamertag/add.php on line 177


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.