Bonjour,
Depuis plusieurs jours, je cherche d'où vient le pb mais en vain.
Peut-être il y aura-til quelqu'un qui pourra m'éclairer ou me mettre sur la voie.
Je travaille en local vers wamp et php 5.3.0
J'ai deux tables. Une pour les cv, une pour les metiers.
Voici la table cv :
CREATE TABLE IF NOT EXISTS `cv` (
`ID_CV` int(11) NOT NULL AUTO_INCREMENT,
`nom_fichier` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`metier_ID` int(3) NOT NULL,
PRIMARY KEY (`ID_CV`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=73 ;
-- Contenu de la table `cv`
INSERT INTO `cv` (`ID_CV`, `nom_fichier`, `metier_ID`) VALUES
(4, 'assistante_marketing.pdf', 3),
(72, 'test.pdf', 3);
Voici la table metiers
-- Structure de la table `metiers`
CREATE TABLE IF NOT EXISTS `metiers` (
`ID_metier` int(2) NOT NULL AUTO_INCREMENT,
`metier_nom` text CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`ID_metier`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=54 ;
-- Contenu de la table `metiers`
INSERT INTO `metiers` (`ID_metier`, `metier_nom`) VALUES
(1, 'webmaster'),
(5, 'cableur'),
(2, 'Assistant export'),
Code PHP :
[/code][/code]
(3, 'Assistante marketing'),
(4, 'Pâtissier entremetier traiteur');
Je dois faire une interface permettant d'ajouter, modifier, supprimer les cv et les métiers. (pour les metiers pas de soucis). Pour les CV, il faut afficher le nom du métier correspondant. J'ai donc lié les tables par le numéro ID.
Voici le code :
Code PHP :
<table border="0" align="center" cellpadding="0" cellspacing="0" width="1017" bgcolor="#FFFFFF">
<tr bgcolor="#FFFFFF" width="998" cellpadding="10">
<td margin="10"><?php
require_once("connect.php");
if(!$connexion = @mysql_connect($dbhost,$dbuname,$dbpass))
die('<b>Erreur de connexion SQL</b><br />Connexion impossible au serveur SQL.');
if (!@mysql_select_db($dbname,$connexion))
die('<b>Erreur de connexion SQL</b><br />Impossible de trouver la base de données.');
//-----------------------------------------------------
// Vrification 1 : est-ce qu'on veut poster un fichier?
//-----------------------------------------------------
//On simplifie le CV_fichier des variables $_FILES
if (isset($_POST['fichier']))
{
$tmp_name=$_FILES['fichier']['tmp_name'];
$name=$_FILES['fichier']['name'];
$size=$_FILES['fichier']['size'];
$type=$_FILES['fichier']['type'];
$erreur=$_FILES['fichier']['error'];
}
if (isset($_POST['metier_ID']))
{
$_POST['metier_ID'] = $metier_ID;
}
if (isset($_POST['name']))
{
$_POST['name'] = $name;
}
// on cr e une nouvelle entre dans la table
if (isset($_GET['rub'])=="ajouter_fichiers")
{
$filename=$name;
$extension=strrchr($filename,'.');
$extension=substr($extension,1);
if($extension!==FALSE)
{
if($extension=="pdf" OR $extension=="PDF" OR $extension=="doc" OR $extension=="DOC" )
{
$sql = "INSERT INTO cv('nom_fichier', 'metier_ID') VALUES('$filename',\'$metier_ID\')";
mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
echo 'merci beaucoup, vos infos ont été enregistrées.'; }
else echo "fichier invalide";}}
//--------------------------------------------------------
// V rification 2 : est-ce qu'on veut supprimer un fichier ?
//--------------------------------------------------------
if (isset($_GET['supprimer_cv'])) // Si on demande de supprimer un fichier
{
$_GET['supprimer_cv'] = addslashes($_GET['supprimer_cv']);
mysql_query('DELETE FROM cv WHERE ID_CV=\'' . $_GET['supprimer_cv'] . '\'');
}
?>
<blockquote>
<h1>GESTION DES CV JEUNES</h1>
</blockquote>
<br />
<table width="600px" border="1" align="center" bordercolor="#FFFFFF" cellpadding="9">
<tr bgcolor="#6078BF" class="style1" >
<td width="20%" class="Style1"><strong>Supprimer</a></strong></td>
<td width="40%" class="Style1"><strong>CV_fichier</strong></td>
<td width="40%" class="Style1"><strong>Métier</strong></td>
</tr>
<?php
$i= 0 ;
$retour = mysql_query('SELECT cv.nom_fichier, cv.ID_CV, metiers.metier_nom FROM cv, metiers WHERE cv.metier_ID=metiers.ID_metier ORDER BY ID_metier DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les fichiers
{if($i=="0" OR $i=="2" OR $i=="4" OR $i=="6" OR $i=="8" OR $i=="10" OR $i=="12" OR $i=="14"){
echo '<tr bgcolor="#E6ECFF" class="style2">';
}
elseif($i=="1" OR $i=="3" OR $i=="5" OR $i=="7" OR $i=="9" OR $i=="11" OR $i=="13" OR $i=="15"){
echo '<tr bgcolor="#809FFF" class="style2">';
$i=$i+1;}
?>
<td width="20%"><?php echo '<a href="cv.php?supprimer_cv='. $donnees['ID_CV'] .'">'; ?>Supprimer</a></td>
<td width="40%"><?php echo '<a href="../upload_CV/'.$donnees['nom_fichier'].'">';echo stripslashes($donnees['nom_fichier']); ?></td>
<td width="40%"><?php echo stripslashes($donnees['metier_nom']) .'</td></tr>';?>
<?php
} // Fin de la boucle qui liste les fichiers
?>
</table>
<br>
<blockquote>
<h2 class="item">
Ajouter un cv </blockquote>
<form name="f1" action="cv3.php?rub=ajouter_fichiers" enctype="multipart/form-data" method="post">
<br />
<blockquote>
<p> Métier :
<select name="liste">
<?php
$sql= 'SELECT cv.ID_CV, cv.nom_fichier, cv.metier_ID, metiers.metier_nom FROM cv, metiers group by metiers.metier_nom';
$liste = mysql_query($sql);
while ($data=mysql_fetch_array($liste))
{
{echo'<option value="'.$data['metier_ID'].'">'.$data['metier_nom'].'</option>';}}
?>
</select>
<br/ >
<input type="hidden" name="ID_metier" value="<?php echo $valeur["metier_ID"]; ?>">
<br/ >
Fichier CV
<input type=file name="fichier">
<br />
<span class="petit">(ne pas utiliser de caractères accentués dans le nom du fichier.)</span></p>
<br />
<input type="submit" value="Envoyer" />
</blockquote>
</form>
<?php echo $data["metier_ID"]; ?>
<blockquote>
<p><span class="item_menu"><a href="metiers.php" class="item_menu2" >Gérer les métiers </a> - <a href="../index.php" class="item_menu2">Retour sur le site (partie publique)</a> </span><br />
<br />
<?php
if($extension!==FALSE){
if($extension=="pdf" OR $extension=="PDF" OR $extension=="doc" OR $extension=="DOC" ){
//On crée une variable contenant le répertoire de destination
$uploadpath='../upload_CV/';
//On dplace le fichier du dossier temporaire vers le dossier de destination
move_uploaded_file($tmp_name,$uploadpath.$name);}}
?>
</p>
</blockquote></td>
</tr>
<tr>
<td><img src="../images/bas.gif" width="1017" height="24" border="0" alt=""></td>
</tr>
</table>
</body></html>
J'arrive bien a faire revenir les données de la table métiers dans une liste déroulante. Il faut que la valeur choisie pour le métier soit insérée dans la table cv. C'est là le problème
Je vous remercie d'avance pour ce coup de main.
helazo