Rechercher : dans
Par :

2500 noms à mettre ds la bdd

Dernière réponse le 14 nov 2005 à 16:06:26 brigitte, le 25 oct 2005 à 20:17:05 
 Signaler ce message aux modérateurs

Bonjour !
Dans un fichier Word, j'ai une liste de 2500 noms, un nom par ligne. Je dois les rentrer dans le champ NOM de ma base de données, les autres champs seront remplis plus tard.
Est-ce qu'il y aurait par miracle (!!!) un moyen rapide de rentrer ces noms dans la base ou est-ce que je dois les rentrer un à un via le formulaire d'ajout que j'ai fait ?
Si vous connaissez un moyen, j'espère qu'il sera à ma portée de débutante. Je débute ds le php et me sers de dreamweaverMX.
Ma main droite et sa tendinite vous remercient d'avance !!!
Brigitte

Meilleures réponses pour « 2500 noms à mettre ds la bdd » dans :
Nintendo DS, Homebrews et programmation VoirNintendo DS et Homebrews Tout le monde connait la dernière console portable de Nintendo, jusque là, pas de surprise. Mais connaissez-vous toutes les possibilités qu'offre, avec les outils adéquats, cette console...
[LiveBox Orange] Connecter sa DS en Wi-Fi VoirLe WI-FI chez Orange Paramètres pour se connecter avec une Live Box Sagem Récupérer l'adresse MAC de la DS Enregistrer l'adresse MAC Paramètres pour se connecter avec une Live Box Inventel Pour des informations supplémentaires
Connecter une Nintendo DS à une box (freebox, livebox, neufbox) VoirLorsque vous essayez de connecter votre Nintendo DS sur internet, voici les différentes étapes qui se présentent : Vous choisissez l'option "Rechercher un point d'accès". Les choix se présentent . Si le point d'accès est sous forme d'un...
Télécharger DS Monkey Audio - Filtre APE VoirLe format MonkeysAudio (extension *.ape) est un format de compression audio lossless (sans pertes) permettant de réduire la taille d'un fichier de moitié sans aucune perte d'information. Le filtre audio DS Monkey Audio Filter utilise la librairie...

1

Kobaya, le 25 oct 2005 à 22:43:41

Salut Brigitte,

une solution serait de sauvegarder ta liste depuis Word au format texte .txt), puis de la charger dans une table Access grâce au menu Fichier / Données externe / Importer.

A+,
Kobaya.

Répondre à Kobaya

2

wiwimagique, le 26 oct 2005 à 00:35:29

Comme le dit Kobaya, enregistre en .txt, un nom par ligne et pas de ligne vide

puis, fait ceci :


// si list_noms.txt est la liste des noms sous format txt
// $noms contient la liste sous forme de tableau
$noms = file('list_noms.txt');

$insertNom = array();
// pour chaque nom, on enlève le caractère de retour de chariot
// et on place sous forme d'insertion mysql dans un autre tableau
foreach ($noms as $nom) {
    $insertNom[] = "('".rtrim($nom)."')";
}

// si ta table s'appelle matable et si le champ s'appelle nom
$query = "insert into matable (nom) values ".implode(",",$insertNom);

mysql_query($query);



Dans sa voiture rouge et jaune

Répondre à wiwimagique

8

m0n0-le-14r3, le 26 oct 2005 à 20:15:52

Wouahouuu ca mrche nickel ton truc merci :) -- je vis dans un rêve dont je ne me reveille jamais...--

Répondre à m0n0-le-14r3

3

blux, le 26 oct 2005 à 08:44:19

Salut,

c'est quoi ta base de données ?
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

teebo, le 26 oct 2005 à 09:33:53

MySQL sans doute puisque elle parle de php...
Always forgive your enemies
Nothing annoys them so much.

(Oscar Wilde)

Répondre à teebo

5

blux, le 26 oct 2005 à 09:49:26

Tu connais ODBC ? ;-)))
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

32

teebo, le 14 nov 2005 à 09:24:15

Tu connais les répartitions statistiques? ;)
Always forgive your enemies
Nothing annoys them so much.

(Oscar Wilde)

Répondre à teebo

6

Zep3k!GnO, le 26 oct 2005 à 13:59:13

Moi j'pense aussi que la meilleure solution c'est tu prends ton PhpMyAdmin (ou autres ) et tu fais l'importation dans ta base de données avec .ton fichier avec tes noms doit biensur être mis en forme avec des séparateurs.... mais voilà koi ! un peu de pattern matching et Pan dans les dents !


Zep3k!GnO
-->hi i hi o on va pas au boulot :P

Répondre à Zep3k!GnO

7

blux, le 26 oct 2005 à 15:41:10

Sinon, y'a SQLyog :

http://telechargement.journaldunet.com/fiche/5097/2/sqlyog/

Il est gratuit (les limitations par rapport à la version payante sont faibles) et on peut faire de l'import de données dans les tables...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

brigitte, le 26 oct 2005 à 21:03:15

Merci pour toutes vos réponses !
Je reprends tout ça demain !
Bonne soirée !
B.

Répondre à brigitte

10

sebsauvage, le 27 oct 2005 à 10:39:50

Et pourquoi pas tout simplement excel ?

Colle ta liste de noms dans une colonne excel, et créé une formule pour générer le code SQL:

Insère tes noms en colonne A,
et met une formule en colonne B:

="INSERT INTO NOMS VALUES ('"&A1&"')"


Il suffit ensuite d'étendre la formule et hop...

Démonstration:
http://sebsauvage.net/temp/wink/excel_sql.html

Répondre à sebsauvage

11

brigitte, le 30 oct 2005 à 11:52:17

Bonjour !
Je n'arrive pas à me sortir de cette histoire, c'est pas faute d'avoir essayé ! Si quelqu'un pouvait me filer un coup de main ce serait drôlement bien. Je suis relativement débutante mais dégourdie et pleine de bonne volonté !!!

J'ai téléchargé SQLyog. J'ai fait file/open, et ma liste s'est affichée dans la partie supérieure. Très bien. Mais après ? J'ai tripoté des trucs et des machins, mais rien...

Excel. Merci pour la démonstration mais ça ne marche pas parce que la table s'appelle MARQUES, et que le champ dans lequel je veux rajouter ma liste s'appelle NOM. Dans phpmyadmin je sais faire trois bricoles mais ne sais encore comment coder...

La solution de Wiwimagique... C'est con mais je ne sais pas quoi faire du code qu'il me donne.

Merci d'avance pour votre aide, je dois "rendre ma copie" demain et ça commence à urger sérieux !!!

Répondre à brigitte

12

sebsauvage, le 30 oct 2005 à 11:58:08

Et ma solution avec Excel, ça marche pas ?

C'est à base de copier-coller, ça devrait aller.

Répondre à sebsauvage

13

brigitte, le 30 oct 2005 à 11:59:38

Slt
Mais je t'ai répondu ci-dessus ! T'as pas vu ?

Répondre à brigitte

14

sebsauvage, le 30 oct 2005 à 12:06:13

Excel. Merci pour la démonstration mais ça ne marche pas parce que la table s'appelle MARQUES, et que le champ dans lequel je veux rajouter ma liste s'appelle NOM.

Ben il suffit de taper MARQUES à la place de NOMS, non ?

Répondre à sebsauvage

15

brigitte, le 30 oct 2005 à 12:09:51

C'est ce que j'ai fait tout de suite avec un exemple, bien sûr, mais j'ai eu ce message d'erreur :

requête SQL: 

INSERT INTO MARQUES
VALUES (

'ere'
) 
MySQL a répondu: 

#1136 - Column count doesn't match value count at row 1


Je suppose qu'il faut d'une façon ou d'une autre indiquer dans quel champ mettre la liste !
Il y a cinq champs dans la table...

Répondre à brigitte

16

wiwimagique, le 30 oct 2005 à 12:36:50

Mon code devrait fonctionner parfaitemement
il suffit de remplacer tous les "matable", "nom" pour les noms correspondant.

Dans sa voiture rouge et jaune

Répondre à wiwimagique

17

brigitte, le 30 oct 2005 à 13:09:27

Mais je ne doute pas que ton code devrait fonctionner parfaitement, mais je n'ai fait que te copier ce que phpmyadmin m'a répondu et je n'arrive pas à adapter ce que tu me dis !!! Je suis une vraie nouille...
J'ai ça :

="INSERT INTO MARQUES VALUES ('"&A1&"')"

Mais je ne sais pas où et sous quelle forme inclure le nom de mon champ !!! (Qui s'appelle NOM)

Tu veux bien me le dire stp ? Merci.

Répondre à brigitte

19

wiwimagique, le 30 oct 2005 à 15:14:45

C'est écrit plus haut :

insert into matable (nom) values ....

matable devient MARQUES
et nom devient NOM
Dans sa voiture rouge et jaune

Répondre à wiwimagique

18

sebsauvage, le 30 oct 2005 à 14:40:11

Mais je ne sais pas où et sous quelle forme inclure le nom de mon champ !!!

Il faut voir un peu quelques cours de SQL.
http://sqlpro.developpez.com/

Répondre à sebsauvage

20

brigitte, le 30 oct 2005 à 17:31:09

Merci ouioui de ta gentillesse, mais j'ai fini par trouver sur un site pour débutants (eh oui...) quelques indications. J'ai donc pu adapter la chose.
Sauf que, quand je faisais ma requête sql, phpmyadmin n'acceptais que la première ligne, ensuite j'avais une erreur de syntaxe. Et ceci même pour une ligne prise en plein milieu. En fait il manquait un ; dans la démonstration de cocotteminutedeprodechezpropourpro...

Donc maintenant ça marche SAUF que ça s'arrête à cette ligne-là :

 INSERT INTO marques (nom) VALUES ('Aem'kei ? www.aemkei.com');


Et je me demande pourquoi !... Ma liste est trop longue ?
B.

Répondre à brigitte

21

sebsauvage, le 30 oct 2005 à 17:55:28

INSERT INTO marques (nom) VALUES ('Aem'kei ? www.aemkei.com');

changer en:

INSERT INTO marques (nom) VALUES ('Aem''kei ? www.aemkei.com');


(il faut doubler les apostrophes)

Répondre à sebsauvage

22

brigitte, le 30 oct 2005 à 18:00:48

Merci !!!!!!

Répondre à brigitte

23

brigitte, le 30 oct 2005 à 20:11:18

Sebsauvage j'espère que t'es dans le coin encore parce que sinon...
Ça coince sur cette ligne-là et je ne comprends pas pourquoi :

INSERT INTO marques (nom) VALUES ('Anha www.anha-creation.com');


C'est la ligne 128.
Mysql me dit :

 #1062 - Duplicata du champ '127' pour la clef 1 

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 681

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 685

Warning: mysql_result(): Unable to jump to row -1 on MySQL result index 37 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 685


La ligne 127, la précédente donc, est celle-ci :

INSERT INTO marques (nom) VALUES ('Anglomania (parfum vivienne westwood)');


Et même si je prends une ou des lignes au hasard dans la suite, mysql ne veut rien savoir. Je ne peux plus rien rentrer dans la base.
As-tu une idée du pourquoi ?
Merci d'avance.
B.

Répondre à brigitte

24

brigitte, le 30 oct 2005 à 20:51:52

J'ai fait l'expérience suivante : je vide entièrement la table. Je copie-colle ds la fenêtre de requête un bon morceau de ma liste sans faire attention à la quantité de lignes et ça coince toujours à la 127 !!! Comme si la table ne pouvait pas avoir plus de 127 enregistrements !
C'est quoi cette bizarrerie ?

Répondre à brigitte

25

brigitte, le 30 oct 2005 à 20:55:18

J'ai vu ça :

Statistiques:   
Information Valeur 
format dynamique  
Interclassement latin1_swedish_ci  
Enregistrements 127  
Longueur enr. ø 23  
Taille enr.  ø 40 Octets  
Suivant Autoindex 127  
Création Dimanche 30 Octobre 2005 à 20:45  
Dernière modification Dimanche 30 Octobre 2005 à 20:46  


C'est quoi : suivant autoindex ???

Répondre à brigitte

26

wiwimagique, le 30 oct 2005 à 22:53:45

C'est parce que la clef primaire de ta table doit être un tinyint, et donc limité à 127 !

Pour le changer, regarde la structure de ta table sous phpmyadmin.
il doit avoir un champs (souvent le premier) qui porte un nom "id" (truc_muche_Id). Il devrait être souligné (ça indique que c'est la clef) et doit avoir comme paramètre "auto-incrémente".

Edit ce champs (alter table) et change le champs par un "int" ou "integer" et enregistre.

Le champs devrait pouvoir aller à 4 millions je crois.

Dans sa voiture rouge et jaune

Répondre à wiwimagique

27

brigitte, le 31 oct 2005 à 07:22:37

Merci Wiwi !!! Mille fois !
4 millions... je suis tranquille

Répondre à brigitte

28

brigitte, le 13 nov 2005 à 19:33:28

Je reviens par ici car le problème se corse !

J'ai donc mis mes noms dans un champ NOMS.
Je me suis imaginé que je pouvais faire la même chose avec les adresses. Donc j'ai repris la formule de sebsauvage et ça a marché : ma requête a été exécutée avec succès ! Mais quand j'affiche ma table, je ne vois pas les adresses. Il m'a fallu deux heures pour comprendre qu'elles se rajoutaient DESSOUS les 2500 premières entrées, bien dans le champ ADRESSES, mais pas en face des noms correspondants !
Je suis claire ???
En résumé : de 1 à 2500 j'ai 2500 noms, et de 2501 à 5000, j'ai les adresses des 2500 noms en question. Et évidemment je voudrais que les adresses soient sur les lignes des noms correspondants !
Comment dois-je faire ? C'est sûrement un truc idiot mais je ne le connais pas. Merci d'avance de vos réponses !
Précision : le premier champ de la table est un champ ID et a la clé primaire.
Brigitte

Répondre à brigitte

29

blux, le 14 nov 2005 à 09:06:37

Salut,

il ne faut pas faire une requête INSERT mais une requête UPDATE (pour mettre à jour des champs dans une ligne existante)...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

30

brigitte, le 14 nov 2005 à 09:09:05

Ah ben ça risquait pas de marcher !!!
Merci Blux !

Répondre à brigitte

31

sebsauvage, le 14 nov 2005 à 09:12:03

Il fallait insérer les adresse en même temps que les noms.

Exemple de requête:
INSERT INTO CLIENTS (NOM, ADRESSE) VALUES ('Dupont','3 rue du Général de Gaulle')


Je suggère fortement une formation sur le SQL.

Répondre à sebsauvage

33

brigitte, le 14 nov 2005 à 09:38:38

Bonjour sebsauvage,
Tu as parfaitement raison, et je m'y mets, à mon rhytme, gentiment. Par exemple j'ai trouvé toute seule la formule pôur remplir en même temps tous les champs par l'intermédiaire d'excel, et j'en suis très fière !!!!

="INSERT INTO MARQUES (NOM_MARQUES,SITE_MARQUES,ID_GENRE,PAYS,NOTES,GENREANCIEN) VALUES ('"&A1&"','"&C1&"','','"&E1&"','"&I1&"','"&G1&"');"

pour moi c'est la preuve que j'avance !!

Mais j'ai maintenant un autre problème : j'ai fait cette page, et le menu genre ne s'affiche pas dans le navigateur, tu vois pourquoi stp ?

<?php require_once('../Connections/wimdb.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO marques (ID_marques, nom_marques, site_marques, ID_genre, pays, notes, genreancien) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($HTTP_POST_VARS['ID_marques'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['nom_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['site_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['ID_genre'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['pays'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['notes'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['genreancien'], "text"));

  mysql_select_db($database_wimdb, $wimdb);
  $Result1 = mysql_query($insertSQL, $wimdb) or die(mysql_error());
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO marques (ID_marques, nom_marques, site_marques, ID_genre, pays, notes, genreancien) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($HTTP_POST_VARS['ID_marques'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['nom_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['site_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['ID_genre'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['pays'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['notes'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['genreancien'], "text"));

  mysql_select_db($database_wimdb, $wimdb);
  $Result1 = mysql_query($insertSQL, $wimdb) or die(mysql_error());
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO marques (ID_marques, nom_marques, site_marques, ID_genre, pays, notes, genreancien) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($HTTP_POST_VARS['ID_marques'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['nom_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['site_marques'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['ID_genre'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['pays'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['notes'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['genreancien'], "text"));

  mysql_select_db($database_wimdb, $wimdb);
  $Result1 = mysql_query($insertSQL, $wimdb) or die(mysql_error());
}

mysql_select_db($database_wimdb, $wimdb);
$query_rsGenre = "SELECT * FROM genre ORDER BY nom_genre ASC";
$rsGenre = mysql_query($query_rsGenre, $wimdb) or die(mysql_error());
$row_rsGenre = mysql_fetch_assoc($rsGenre);
$totalRows_rsGenre = mysql_num_rows($rsGenre);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="/Templates/administration.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Document sans titre</title>
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../prepare/styl-css/marq.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/www.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/alpha.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/chiffr.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/genre.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/foncolon.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/sommaire.css" rel="stylesheet" type="text/css">
<link href="../prepare/styl-css/fondgauch.css" rel="stylesheet" type="text/css">
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>

<body bgcolor="#000000">

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr> 
    <td width="100%" height="120" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr> 
          <td width="170" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr> 
                <td width="170" height="120" valign="middle"> <div align="center"><img src="../prepare/gif/arcwim.gif" width="170" height="120"></div></td>
              </tr>
            </table></td>
          <td width="112" height="80" align="center" valign="middle"><img src="../prepare/gif/yam_fr.gif" width="112" height="80"></td>
          <td width="468" align="center" valign="middle"><font color="#999999">pub 
            468x60</font></td>
        </tr>
        <tr> 
          <td height="40" colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr> 
                <td width="580" height="40" valign="top"><img src="../prepare/gif/choose.gif" width="580" height="40"></td>
              </tr>
            </table></td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td height="187" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="foncolon">
        <!--DWLayoutTable-->
        <tr> <!-- InstanceBeginEditable name="EditRegion3" -->
          <td width="936" height="187" valign="top"><div align="center"> 
              <p> </p>
              <p> </p>
            
              <p> </p>
  
              <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
                <table align="center">
                  <tr valign="baseline"> 
                    <td nowrap align="right">Nom_marques:</td>
                    <td><input type="text" name="nom_marques" value="" size="32"></td>
                  </tr>
                  <tr valign="baseline"> 
                    <td nowrap align="right">Site_marques:</td>
                    <td><input type="text" name="site_marques" value="" size="32"></td>
                  </tr>
                  <tr valign="baseline"> 
                    <td nowrap align="right">ID_genre:</td>
                    <td> <select name="ID_genre">
                        <?php 
do {  
?>
                        <option value="<?php echo $row_rsGenre['nom_genre']?>" ><?php echo $row_rsGenre['ID_genre']?></option>
                        <?php
} while ($row_rsGenre = mysql_fetch_assoc($rsGenre));
?>
                      </select> </td>
                  <tr> 
                  <tr valign="baseline"> 
                    <td nowrap align="right">Pays:</td>
                    <td><input type="text" name="pays" value="" size="32"></td>
                  </tr>
                  <tr valign="baseline"> 
                    <td nowrap align="right">Notes:</td>
                    <td><input type="text" name="notes" value="" size="32"></td>
                  </tr>
                  <tr valign="baseline"> 
                    <td nowrap align="right">Genreancien:</td>
                    <td><input type="text" name="genreancien" value="" size="32"></td>
                  </tr>
                  <tr valign="baseline"> 
                    <td nowrap align="right"> </td>
                    <td><input type="submit" value="Insérer l'enregistrement"></td>
                  </tr>
                </table>
                <input type="hidden" name="ID_marques" value="">
                <input type="hidden" name="MM_insert" value="form1">
              </form>
              <p> </p>
  </div></td>
          <!-- InstanceEndEditable --></tr>
      </table></td>
  </tr>
</table>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($rsGenre);
?>

Répondre à brigitte

34

sebsauvage, le 14 nov 2005 à 10:13:56

Où là... désolé, je ne suis pas un spécialiste de php, et je n'ai malheureusement pas le temps de déboguer ce code.

Si quelqu'un d'autre peut s'y lancer...

Répondre à sebsauvage

35

wiwimagique, le 14 nov 2005 à 11:22:14

Le code a l'air assez simple.
une requête simple et une boucle sur la requête.

As-tu un quelconque message d'erreur sur ta page ?

p-e devrais-tu afficher le nombre de résultats que tu es censée avoir dans la liste déroulante en faisant :

echo $totalRows_rsGenre;

juste après connaissance de cette variable.


Ensuite, as-tu une liste déroulante grande mais vide ou la liste ne se déroule pas du tout ?

es-tu sure du nom de ta table et des noms des champs ?

Je ne vois pas d'autres erreurs potentielles pour l'instant.
Dans sa voiture rouge et jaune

Répondre à wiwimagique

36

brigitte, le 14 nov 2005 à 11:30:27

J'ai honte Wiwi...
J'ai osé à peine répondre...
Je vais me cacher dans un petit trou tout de suite après t'avoir dit que je n'avais mis aucun enregistrement dans la table GENRE...
Voilà...
C'est tout...
Connerie de débutante...
Merci d'avoir pris le temps de me répondre, et pardon encore !
Brigitte

Répondre à brigitte

37

brigitte, le 14 nov 2005 à 12:36:56

Je ressors de mon trou pour faire encore la maline !
Je me lance ds la jointure de tables. Et j'ai raté ! J'ai suivi un exemple, mais j'ai raté quelque chose sûrement.
J'ai fait ça.

SELECT *
FROM genre, marques
WHERE genre.ID_genre=marques.ID_genre
ORDER BY marques.nom_marques


Dans ma table MARQUES il y a un champ ID_GENRE, et dans ma table GENRE, il y a un champ ID_genre qui est la clé primaire. Alors est-ce que ma requête est juste stp ? Ou est-ce que l'erreur vient d'ailleurs à ton avis ?
Merci encore.
Brigitte

Répondre à brigitte

38

wiwimagique, le 14 nov 2005 à 13:10:57

Quelle est l'erreur ?
Il peut y en avoir plusieurs possible ...
WHERE genre.ID_genre=marques.ID_GENRE

p-ê ?
Dans sa voiture rouge et jaune

Répondre à wiwimagique

39

brigitte, le 14 nov 2005 à 13:18:40

Mais la requête que j'ai mise signifie bien que le ID_genre de la table GENRE doit correspondre au ID_GENRE de la table MARQUES ? C'est bien comme ça que ça s'écrit ?

Répondre à brigitte

41

teebo, le 14 nov 2005 à 13:22:36

En théorie c'est bon, mais quelle est l'erreur?

Sinon regarde là aussi:
http://www.w3schools.com/sql/sql_join.asp
Always forgive your enemies
Nothing annoys them so much.

(Oscar Wilde)

Répondre à teebo

40

brigitte, le 14 nov 2005 à 13:21:17

Le code de la page au cas où...

<?php require_once('../Connections/wimdb.php'); ?> 
<?php
$maxRows_rsListeMarques = 10;
$pageNum_rsListeMarques = 0;
if (isset($HTTP_GET_VARS['pageNum_rsListeMarques'])) {
  $pageNum_rsListeMarques = $HTTP_GET_VARS['pageNum_rsListeMarques'];
}
$startRow_rsListeMarques = $pageNum_rsListeMarques * $maxRows_rsListeMarques;

mysql_select_db($database_wimdb, $wimdb);
$query_rsListeMarques = "SELECT * FROM genre, marques WHERE genre.ID_genre=marques.ID_genre ORDER BY marques.nom_marques";
$query_limit_rsListeMarques = sprintf("%s LIMIT %d, %d", $query_rsListeMarques, $startRow_rsListeMarques, $maxRows_rsListeMarques);
$rsListeMarques = mysql_query($query_limit_rsListeMarques, $wimdb) or die(mysql_error());
$row_rsListeMarques = mysql_fetch_assoc($rsListeMarques);

if (isset($HTTP_GET_VARS['totalRows_rsListeMarques'])) {
  $totalRows_rsListeMarques = $HTTP_GET_VARS['totalRows_rsListeMarques'];
} else {
  $all_rsListeMarques = mysql_query($query_rsListeMarques);
  $totalRows_rsListeMarques = mysql_num_rows($all_rsListeMarques);
}
$totalPages_rsListeMarques = ceil($totalRows_rsListeMarques/$maxRows_rsListeMarques)-1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="/Templates/administration.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Document sans titre</title>
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../prepare/styl-css/fondgauch.css" rel="stylesheet" type="text/css">
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>

<body bgcolor="#000000">

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr> 
    <td width="100%" height="120" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr> 
          <td width="170" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr> 
                <td width="170" height="120" valign="middle"> <div align="center"><img src="../prepare/gif/arcwim.gif" width="170" height="120"></div></td>
              </tr>
            </table></td>
          <td width="112" height="80" align="center" valign="middle"><img src="../prepare/gif/yam_fr.gif" width="112" height="80"></td>
          <td width="468" align="center" valign="middle"><font color="#999999">pub 
            468x60</font></td>
        </tr>
        <tr> 
          <td height="40" colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr> 
                <td width="580" height="40" valign="top"><img src="../prepare/gif/choose.gif" width="580" height="40"></td>
              </tr>
            </table></td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td height="187" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="foncolon">
        <!--DWLayoutTable-->
        <tr> <!-- InstanceBeginEditable name="EditRegion3" -->
          <td width="936" height="187" valign="top"><div align="center"> 
              <p> </p>
              <table width="75%" border="1">
                <tr>
                  <td> </td>
                  <td> </td>
                  <td> </td>
                </tr>
                <?php do { ?>
                <tr> 
                  <td><?php echo $row_rsListeMarques['nom_marques']; ?></td>
                  <td><?php echo $row_rsListeMarques['site_marques']; ?></td>
                  <td><?php echo $row_rsListeMarques['nom_genre']; ?></td>
                </tr>
                <?php } while ($row_rsListeMarques = mysql_fetch_assoc($rsListeMarques)); ?>
              </table>
              <p> </p>
            </div></td>
          <!-- InstanceEndEditable --></tr>
      </table></td>
  </tr>
</table>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($rsListeMarques);
?>

Répondre à brigitte