[MySQL] Urgent, PB export dans la BDD !

Urgent, PB export dans la BDD ! [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 08-12-2011 à 13:42:24    

Bonjour à tous, je suis apprentis Dev et on me demande de développer une page qui attache des fichiers à une fiche candidat, mon problème est que  
l'export du fichier fonctionne bien, cela met le fichier dans le FTP avec un ID, mais cela n'ajoute aucunes lignes dans la BDD... Donc les fichiers deviennent in identifiable... Je voudrais que quand l'export ce fait dans le FTP, il m'inscrive dans la BDD l'id du fichier, les commentaires , ect, bref tout pour que ensuite sur ma page "fichiers attachés" on puisse retrouver les fichiers attaché à l'id du candidat.. Je vous donne tout les codes impacté :
 
PS : Un énorme merci à vous !
 
 
Ca c'est ma page ou pour l'instant, je voudrais faire une exportation propre...

Spoiler :


<?
include_once("../inc/utils.php" );
include_once("../../include/file_utils.php" );
include_once("../admin/librairie/document.librairie_yannick.php" );
include("../inc/car_utils.php" );
@session_start();
 
carriere_mysql_init(&$my_con, &$my_db);
 
 
$query="SELECT out_cand_nom, out_cand_prenom FROM OUT_CAND WHERE out_cand_id = '$out_cand_id'";
$pow_result = mysql_query($query, $my_con);
$pow_row = mysql_fetch_object($pow_result);
$date = new DATE_CLASS();
$time = time();
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<html>
<head>
<link rel="stylesheet" href="../include/style.css" type="text/css">
 <title>Documents</title>';
 
 
echo'<script language="JavaScript" src="../include/calendar.js"></script>';
echo'<script language="JavaScript" src="../include/calendar_lib.js"></script>';  
echo'<script type="text/javascript" language="javascript">
   function valid()
   {
    if ((document.attach.value == "" ) || (document.attach.value == " " ))
     alert("cliquer sur parcourir pour ajouter un fichier" );
    else
     document.attach.submit();
   }
   function CheckDate(d) {
          // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
          // Le séparateur est défini dans la variable separateur
          if(d) {
           var amin=1850; // année mini
           var amax=2500; // année maxi
           var separateur="/"; // separateur entre jour/mois/annee
           var j=(d.substring(0,2));
           var m=(d.substring(3,5));
           var a=(d.substring(6));
           var ok=1;
           if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
              alert("Le jour n\'est pas correct." ); ok=0;
           }
           if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
              alert("Le mois n\'est pas correct." ); ok=0;
           }
           if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
              alert("L\'année n\'est pas correcte." ); ok=0;
           }
           if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
              ok=0;
           }
           if (ok==1) {
              var d2=new Date(a,m-1,j);
              j2=d2.getDate();
              m2=d2.getMonth()+1;
              a2=d2.getYear();
              if (a2<=100) {a2=1900+a2}
              if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
                 ok=0;
              }
        ok=d2;
           }
       } else {
        ok=0;
       }
          return ok;
       }
  </script>';
echo '</head><BODY topmargin="0" leftmargin="0">';
echo' <h2> Fichiers associ&eacute;s </h2>';
echo'<div class="cadre">';  //cadre fond gris
echo '<h3><span class="titre">Ajouter un Fichier &agrave; : '.$pow_row->out_cand_prenom.' '.$pow_row->out_cand_nom.'</span></h3><br><br>';
echo'       <table width="100%" border="0">
    <tr>
      <td width="21%" class="right">
          <label for="out_cand_dte_in" class="label-obligatoire"><span class="asterisque">*</span>&nbsp;Date de cr&eacute;ation&nbsp;:</label>
      </td>
';  
 
       
 if($main_row->out_cand_dte_in)
           
           $out_cand_dte_in = GetFullStrDate($main_row->out_cand_dte_in);
           else
            $out_cand_dte_in = GetFullStrDate(time());
            $out_cand_dte_activ = GetFullStrDate($main_row->out_cand_dte_activ);
            $out_cand_dte_out = GetFullStrDate($main_row->out_cand_dte_out);
            $out_cand_dte_out_prev = GetFullStrDate($main_row->out_cand_dte_out_prev);
            $out_cand_dte_parm = GetFullStrDate($main_row->out_cand_dte_parm);
                             print  //afiche la date
           '<td>
            <input type="text" name="out_cand_doc_date" id="out_cand_doc_date" value="'.$out_cand_dte_in.'" class="champ champ-texte champ-obligatoire" size="11" maxlength="10" />
            <span class="indication">
             <a href="javascript:show_calendar(\'WRes.out_cand_dte_out_prev\',\''.(date("m",time())-1).'\',\''.date("Y",time()).'\')">
             <img src="../images/calendrier.gif" border="0"></a>
             </a>(jj/mm/aaaa)
            </span>
           </td>';
 
 
echo'  
        <td class="right" width="15%">
       <label for=" out_cand_doc_titre" class="label-obligatoire"><span class="asterisque">*</span>&nbsp;Titre du document&nbsp;:</label>
  </td>
  <td>
      <input type="text" name="out_cand_doc_titre" id="out_cand_doc_titre" class="champ champ-text" size="32%" maxlength="100">
  </td>
 
';  //afiche la case Titre du document
echo'  
    <tr>
     <td class="right" width="21%">
      <label for="out_cand_doc_com">Commentaire&nbsp;:</label>
     </td>
  <td>
      <textarea rows="2" cols="28" name="out_cand_doc_com" id="out_cand_doc_com"></textarea>  
  </td>
       
 
'; //Afiche la zone commentaire
echo'
    <td class="right" width="21%">
     <label for="out_cand_doc_type_doc" class="label-obligatoire"><span class="asterisque">*</span>&nbsp;Type&nbsp;:</label>
 <td>
     <select name="out_cand_doc_type_doc" id="out_cand_doc_type_doc" class="champ champ-select">        
    <OPTION VALUE="0">&nbsp;</OPTION>
    <OPTION VALUE="1">CV</OPTION>
          <OPTION VALUE="2">Lettre de motivation</OPTION>
          <OPTION VALUE="3">Bilan &agrave; 3 mois</OPTION>
          <OPTION VALUE="4">Bilan &agrave; 6 mois</OPTION>
          <OPTION VALUE="5">Synth&egrave;se et pr&eacute;conisations</OPTION>      
    <OPTION VALUE="6">Devis</OPTION>
                <OPTION VALUE="7">Fiche validation projet</OPTION>
    <OPTION VALUE="8">EEO</OPTION>        
  </select>
 </td>          
    </TR>
 ';
echo'</table>';
 
 
 
 if($cmd == "add_file" ){  
 
 if($_FILES['document']['name'] != "" )
 {  
  $target_path = "/mnt/DocsMobilis/";
  $time = time();
  $filename = $_FILES['document']['name'];
  $safe_filename = preg_replace(array("/\s+/", "/[^-\.\w]+/" ), array("_", "" ), trim($filename));  
  //$filename = $time.'_'.str_replace("\\", "", basename($filename)); // ajout de la date pour differentiation et suppression des anti-slash  
  $filename = $time.'_'.$safe_filename;
  $target_path = $target_path . $filename;  
   
  if(!move_uploaded_file($_FILES['document']['tmp_name'], $target_path)) {
   echo "Le fichier n'a pas pu être attaché.";
  }
   
  $len = $_FILES['document']['size'];
  $document_name = addslashes(basename($_FILES['document']['name']));
  $document_type = $_FILES['document']['type'];
  $document_id = $time;
   
  $query ="insert into OUT_CAND_DOC  
         
        (out_cand_doc_id,
        out_cand_doc_cand_id,  
            out_cand_doc_type_doc,  
                                 out_cand_doc_com,
         out_cand_doc_filename,  
         out_cand_doc_filetype,  
         out_cand_doc_filelen,  
         out_cand_doc_filebin,  
         out_cand_doc_date,
         out_cand_doc_pathname)  
       values(
                        '$document_id'    
         '$out_cand_id',  
          '$out_cand_doc_type_doc',  
          '$out_cand_doc_com',          
         \"$document_name\",  
         '$document_type',  
         '$len',  
         \"$content\",  
          '$time',
          \"$filename\" )";
           
   
 $file_result = mysql_query($query, $my_con);    
 }
 
}
 
if($cmd == "del_file" ){
 
 if($out_cand_doc_id){
  //recherche du nom du fichier sur le serveur de fichier pour suppression
  $query="select out_cand_doc_pathname FROM OUT_CAND_DOC where out_cand_doc_id = '$out_cand_doc_id'";
  $file_result = mysql_query($query, $my_con);
  $file_row = mysql_fetch_object($file_result);
  $pathname = $file_row->out_cand_doc_pathname;
 
  if ($pathname <> '')
  {
   $download_path = "/mnt/DocsMobilis/";
   // Contrôle de sécurité pour être que le fichier ne se trouve pas ailleurs que dans le download_path !
   if(eregi("\.\.", $pathname)) die("Ce fichier ne peux pas être supprimé." );
   $file = str_replace("..", "", $pathname);
   if(eregi("\.ht.+", $pathname)) die("Ce fichier ne peux pas être supprimé." );  
 
   $file = "$download_path$pathname";  
 
   if(!file_exists($file)) die("Impossible de supprimer le document $pathname. Contactez votre administrateur." );  
   
   unlink($file); //suppression physique du fichier
  }
 
  // suppression de la référence du fichier dans la table OUT_CAND_DOC
  $query = "DELETE FROM OUT_CAND_DOC WHERE out_cand_doc_id = '$out_cand_doc_id'";
  $file_result = mysql_query($query, $my_con);
 }
 
}
 
$query="select out_cand_doc_cand_id, out_cand_doc_id, out_cand_doc_doc_type_id, out_cand_doc_titre, out_cand_doc_com, out_cand_doc_filetype, out_cand_doc_filename, out_cand_doc_filelen, out_cand_doc_date FROM OUT_CAND_DOC where out_cand_doc_cand_id = '$out_cand_id'";
 
     
$file_result = mysql_query($query, $my_con);
 
display($file_result, $out_cand_id);
echo '<br><br><h3><span class="titre">Liste des fichiers associ&eacute;s &agrave; : '.$pow_row->out_cand_prenom.' '.$pow_row->out_cand_nom.'</span></h3><br><br>';
?>


 
 
 
 
et ça c'est mon deuxieme fichier ou ce trouve la fonction ajouter et valider..

Spoiler :

<?
function display($file_result, $out_cand_id)
{    
  while($file_row = mysql_fetch_object($file_result))  
  {  
   echo '
   <table>
   <tr class="row">
      <td align="center">'.GetFullStrDate($file_row->out_cand_doc_date).'</td>
      <td align="center">
       <a href="documents/display_doc_yannick.php?out_cand_doc_id='.$file_row->out_cand_doc_id.'">'.stripslashes($file_row->out_cand_doc_filename).'</a>
      </td>
      <td align="center">';
       $type = $file_row->out_cand_doc_filetype;
       switch ($type){
       
        case "application/pdf" :
         echo '<img src="../images/pdf_icon.gif" width="16" height="16" border="0">';
        break;
       
        case "application/msword" :
         echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
        break;
       
        case "text/richtext" :
         echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
        break;
         
        case "application/rtf" :
         echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
        break;
         
        case "application/vnd.ms-excel" :  
         echo '<img src="../images/excel_icon.gif" width="16" height="16" border="0">';
        break;
         
        case "application/vnd.ms-powerpoint" :  
         echo '<img src="../images/powerpoint_icon.gif" width="16" height="16" border="0">';
        break;
       
        default :
         echo '<img src="../images/default_icon.gif" width="16" height="16" border="0">';
        break;
       
       }
       
      $taille = $file_row->out_cand_doc_filelen / 1024;
      print '<td align="center">'.round($taille,2).' Ko</td>';
      echo '
      </td>
      <td align="center">
       <form name="del'.$file_row->out_cand_doc_id.'" method="POST" action="document_yannick.php">
        <input type="hidden" name="cmd" value="del_file">
        <input type="hidden" name="out_cand_id" value="'.$file_row->out_cand_doc_cand_id.'">
        <input type="hidden" name="out_cand_doc_id" value="'.$file_row->out_cand_doc_id.'">
                <a href="" onclick="javascript: if(confirm(\'Etes vous sûr de vouloir supprimer cette pi&eacute;ce jointe ?\')) {document.del'.$file_row->out_cand_doc_id.'.submit();} return false;"><img src="../images/poubelle_icon.gif" width="15" height="15" border="0" /></a>
 
       </form>
      </td>
     </tr>
     
     ';
   
  }
   
   
   
 echo '</table><br><br>
   <table  border="0" cellspacing="0" cellpadding="2" width="100%" height="25">
     <tr class="row" >
      <td align="center">
       <form name="attach" method="POST" action="document_yannick.php" enctype="multipart/form-data">
       <input type="file" name="document" size="75">
       <input type="hidden" name="MAX_FILE_SIZE" value="10000000"></td>
      </td>
      <td align="center">
       <input type="hidden" name="cmd" value="add_file">
       <input type="hidden" name="out_cand_id" value="'.$out_cand_id.'">
       <input type="button" class="bouton1" value="Ajouter" onclick="valid()" ) />
       </FORM>
      </td>
     </tr>
     <tr>
      <td class="indication" align="center"> Attention, taille des fichiers limit&eacute;e &agrave; 10Mo !!</td>
     </tr>
    </table>';
}
?>


 
et voici la strucure de ma table out_cand_doc :
 
 
out_cand_doc_id            int(11)          Non        
out_cand_doc_cand_id    int(11)          Non   0    
out_cand_doc_filename        varchar(100)  Non        
out_cand_doc_filetype         varchar(100)  Non        
out_cand_doc_type_doc       int(11)          Non   0    
out_cand_doc_com         varchar(255)  Non        
out_cand_doc_filelen         int(11)          Non   0    
out_cand_doc_filebin         longblob          Non        
out_cand_doc_date         int(11)          Non   0    
out_cand_doc_pathname      varchar(100)  Non


Message édité par Profil supprimé le 08-12-2011 à 13:54:02
Reply

Marsh Posté le 08-12-2011 à 13:42:24   

Reply

Marsh Posté le 12-12-2011 à 00:29:20    

Aussecour, s'il vous plait, need help..

Reply

Marsh Posté le 12-12-2011 à 14:13:22    

Citation :

 $query ="insert into OUT_CAND_DOC  
         
        (out_cand_doc_id,
        out_cand_doc_cand_id,  
            out_cand_doc_type_doc,  
                                 out_cand_doc_com,
         out_cand_doc_filename,  
         out_cand_doc_filetype,  
         out_cand_doc_filelen,  
         out_cand_doc_filebin,  
         out_cand_doc_date,
         out_cand_doc_pathname)  
       values(
                        '$document_id',
         '$out_cand_id',  
          '$out_cand_doc_type_doc',  
          '$out_cand_doc_com',          
         \"$document_name\",  
         '$document_type',  
         '$len',  
         \"$content\",  
          '$time',
          \"$filename\" )";


 

Reply

Marsh Posté le 12-12-2011 à 14:56:22    

Oh merci, je teste ça ce soir ou demain ! Put** de virgule !

Reply

Marsh Posté le 15-12-2011 à 16:20:22    

MERCI !! ça fonctionne ! Ou avais-je les yeux.... Un méga énorme merci !

Reply

Marsh Posté le 15-12-2011 à 23:47:44    


 
De rien  ;)  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed