Dois je montrer le script ?
Si c'est extactement ça mais, mais, je n'ai pas tout compris, tu vas si viteJ'ai pas forcément bien comrpis la question, en fait tu as un id dans ta table agence, et tu l'utilises dans ta table logo pour savoir à quelle agence appartient le logo ?
Dans ce cas il te suffit d'insérer ton agence dans ta table, d'en récupérer l'identifiant s'il est auto incrementé (cf. les sujets sur la récupération de l'id inséré en base), et de l'utiliser pour insérer ton enregistrement dans la table logo (dans laquelle, l'identifiant ne doit bien sur pas être auto incrémenté)
Si c'est pas ça, ou si c'est pas clair, t'hésites pas à crier
mysql_insert_id()
dans ça :
// connexion à la base
$db = mysql_connect('localhost', 'agence', 'xxxxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('agences',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql dans agences_tbl
$sql = "INSERT INTO agences_tbl(ID, ID_img, nom, titre, adresse, telephone,fax, mail, agent1, mail1, agent2, mail2, agent3, mail3)
VALUES('','$nom','$titre','$ID_img','$adresse','$telephone','$fax','$mail','$agent1','$mail1','$agent2','$mail2','$agent3','$mail3')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on écrit la requête sql dans logo
$sql = "INSERT INTO logo(ID,ID_user) VALUES('$ID','$ID_user')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère l'ID qui vient d'être généré
$ID = mysql_insert_ID();
// connexion à la base
$db = mysql_connect('localhost', 'agence', 'xxxxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('agences',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql dans agences_tbl
$sql = "INSERT INTO agences_tbl(ID, ID_img, nom, titre, adresse, telephone, fax, mail, agent1, mail1, agent2, mail2, agent3, mail3) VALUES ('', '$nom', '$titre', '$ID_img', '$adresse', '$telephone', '$fax', '$mail', '$agent1', '$mail1', '$agent2', '$mail2', '$agent3', '$mail3')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère ICI, juste après le mysql_query, l'id qui vient d'être généré lors de l'insertion dans agence_tbl ;)
$ID = mysql_insert_id();
// on écrit la requête sql dans logo
$sql = "INSERT INTO logo(ID,ID_user) VALUES('$ID','$ID_user')"; // du coup on peut l'utiliser là le $ID :)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$dest_dossier = '/var/www/xxxxxxx/agences/upload/';
// utilisez également des slashes sous windows : $dest_dossier = '/upload/';
$dest_fichier = basename($_FILES['img']['name']);
move_uploaded_file($_FILES['img']['tmp_name'], $dest_dossier . $dest_fichier);
à moins que ce ne soit dans le formulaire :
$dest_fichier = basename($_FILES['img']['name']); // te permet de récupérer le nom original du fichier envoyé dans $dest_fichier
move_uploaded_file($_FILES['img']['tmp_name'], $dest_dossier . $dest_fichier); // déplace le fichier charger sur le serveur dans le dossier $dest_dossier et le nomme $dest_fichier
Si tu veux que le nom de ton fichier contienne l'id de l'agence, il te faut le traiter après avoir fait l'insertion de l'agence (tout comme tu viens de le faire pour l'insertion dans la table logo)$nomDuFichier = basename($_FILES['img']['name']); // Le nom du fichier d'origine
$extension = substr($nomDuFichier, strrpos($nomDuFichier, ".")); // tant qu'on y est, on récupère l'extension du fichier (tout ce qui suit le dernier point)
// on compose le nouveau nom du fichier avec $ID récupéré avec mysql_get_id(), l'extension du fichier initiale, et éventuellement un bout de nom choisit (ex: "logo_agence_") :
$dest_fichier = "logo_agence_" . $ID . "." . $extension;
// reste plus qu'à déplacer le fichier comme avant, avec son nouveau nom
move_uploaded_file($_FILES['img']['tmp_name'], $dest_dossier . $dest_fichier);
Les fichiers uploadés s'appelleraient ainsi "logo_agence_12.gif" ou "logo_agence_14.jpg" etc. A toi d'adapter vers quelques chose qui te convient éventuellement un bout de nom choisit (ex: "logo_agence_") :
$dest_fichier = "logo_agence_" . $ID . "." . $extension;
puisque le logo téléchargé porte le nom :
$dest_fichier = "logo_agence_" . $ID . $extension;
Ensuite, il faut bien que le code ou a lieu le changement de nom du fichier soit bien après le code d'insertion en base de l'agence pour pouvoir utiliser la variable $ID // connexion à la base
$db = mysql_connect('localhost', 'agence', 'xxxxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('agences',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql dans agences_tbl
$sql = "INSERT INTO agences_tbl(ID, ID_img, nom, titre, adresse, telephone, fax, mail, agent1, mail1, agent2, mail2, agent3, mail3) VALUES ('', '$nom', '$titre', '$ID_img', '$adresse', '$telephone', '$fax', '$mail', '$agent1', '$mail1', '$agent2', '$mail2', '$agent3', '$mail3')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère ICI, juste après le mysql_query, l'id qui vient d'être généré lors de l'insertion dans agence_tbl
$ID = mysql_insert_id();
...
$nomDuFichier = basename($_FILES['img']['name']); // Le nom du fichier d'origine
$extension = substr($nomDuFichier, strrpos($nomDuFichier, ".")); // tant qu'on y est, on récupère l'extension du fichier (tout ce qui suit le dernier point)
// on compose le nouveau nom du fichier avec $ID récupéré avec mysql_get_id(), l'extension du fichier initiale, et éventuellement un bout de nom choisit (ex: "logo_agence_") :
$dest_fichier = "logo_agence_" . $ID . $extension;
// reste plus qu'à déplacer le fichier comme avant, avec son nouveau nom
move_uploaded_file($_FILES['img']['tmp_name'], $dest_dossier . $dest_fichier);
<?php
// On commence par récupérer les champs
$nom = (isset($_POST['nom'])) ? $_POST['nom'] : "";
$titre = (isset($_POST['titre'])) ? $_POST['titre'] : "";
$adresse = (isset($_POST['adresse'])) ? $_POST['adresse'] : "";
$telephone = (isset($_POST['telephone'])) ? $_POST['telephone'] : "";
$fax = (isset($_POST['fax'])) ? $_POST['fax'] : "";
$mail = (isset($_POST['mail'])) ? $_POST['mail'] : "";
$agent1 = (isset($_POST['agent1'])) ? $_POST['agent1'] : "";
$mail1 = (isset($_POST['mail1'])) ? $_POST['mail1'] : "";
$agent2 = (isset($_POST['agent2'])) ? $_POST['agent2'] : "";
$mail2 = (isset($_POST['mail2'])) ? $_POST['mail2'] : "";
$agent3 = (isset($_POST['agent3'])) ? $_POST['agent3'] : "";
$mail3 = (isset($_POST['mail3'])) ? $_POST['mail3'] : "";
$img = (isset($_POST['img'])) ? $_POST['img'] : "";
{
$dest_dossier = '/var/www/xxxxxx/agences/upload/';
// utilisez également des slashes sous windows : $dest_dossier = '/upload/';
$nomDuFichier = basename($_FILES['img']['name']); // Le nom du fichier d'origine
$extension = substr($nomDuFichier, strrpos($nomDuFichier, ".")); // tant qu'on y est, on récupère l'extension du fichier (tout ce qui suit le dernier point)
// on compose le nouveau nom du fichier avec $ID récupéré avec mysql_get_id(), l'extension du fichier initiale, et éventuellement un bout de nom choisit (ex: "logo_agence_") :
$dest_fichier = "logo_agence_" . $ID . $extension;
// reste plus qu'à déplacer le fichier comme avant, avec son nouveau nom move_uploaded_file($_FILES['img']['tmp_name'], $dest_dossier . $dest_fichier);
// connexion à la base
$db = mysql_connect('localhost', 'agence', 'xxxxx') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('agences',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql dans agences_tbl
$sql = "INSERT INTO agences_tbl(ID, nom, titre, adresse, telephone,fax, mail, agent1, mail1, agent2, mail2, agent3, mail3) VALUES('','$nom','$titre','$adresse','$telephone','$fax','$mail','$agent1','$mail1','$agent2','$mail2','$agent3','$mail3')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère l'ID qui vient d'être généré
$ID = mysql_insert_ID();
// on écrit la requête sql dans logo
$sql = "INSERT INTO logo(ID) VALUES('$ID')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo '<a href="http://www.xxxxx.com/agences/ad_agents.htm">Vos infos on été ajoutées.</a>';
mysql_close(); // on ferme la connexion
}
?>
que peut-il bien y avoir .. le téléchargement des images se fait bien dans le dossier upload pourtant ...