Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1501 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Urgent, PB export dans la BDD !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Urgent, PB export dans la BDD !

n°2115536
Profil sup​primé
Posté le 08-12-2011 à 13:42:24  answer
 

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
mood
Publicité
Posté le 08-12-2011 à 13:42:24  profilanswer
 

n°2116051
Profil sup​primé
Posté le 12-12-2011 à 00:29:20  answer
 

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

n°2116200
bluwolf
Stand By
Posté le 12-12-2011 à 14:13:22  profilanswer
 

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\" )";


 

n°2116219
Profil sup​primé
Posté le 12-12-2011 à 14:56:22  answer
 

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

n°2116804
Profil sup​primé
Posté le 15-12-2011 à 16:20:22  answer
 

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

n°2116881
bluwolf
Stand By
Posté le 15-12-2011 à 23:47:44  profilanswer
 


 
De rien  ;)  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Urgent, PB export dans la BDD !

 

Sujets relatifs
Help besoin d'aide pour un exercie logiqueBesoin d'aide svp
Aide pour un noobBash aide projet
Besoin d'aide permutation binaireAide pour script d'actualité
Aide pour SmaltalkAide création de site
[AIDE] jsch et automatisation des commandes 
Plus de sujets relatifs à : [MySQL] Urgent, PB export dans la BDD !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR