Auteur Sujet: Probleme Pour Transferer Un .cvs Dans Une Table  (Lu 1476 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne gchauvel

  • Débutant
  • *
  • Messages: 9
Probleme Pour Transferer Un .cvs Dans Une Table
« le: 09 mai 2004 à 16:17:22 »
bonsoir,
après bien des efforts je viens de mettre a jour une table dans une base de donnees ( c'est une liste de contact dans moregroupware), sur easy php aucun probleme la table se charge correctement via un upload d'un fichier texte
sur ma base en ligne (serveur 1) il me dit que je n'ai pas les droits pour le faire??? et il n'y aucun moyen pour modifier ces droits dans phpmyadmin???

comment faire???

gerard chauvel

Hors ligne alex

  • VIP
  • *****
  • Messages: 1 915
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #1 le: 09 mai 2004 à 16:21:04 »
Cette fonctionnalité n'est pas utilisable sur les serveurs mutualisés de PHP-Net.
« Modifié: 09 mai 2004 à 16:22:52 par Alex »

Hors ligne gchauvel

  • Débutant
  • *
  • Messages: 9
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #2 le: 09 mai 2004 à 19:07:43 »
merci pour ta reponse donc aucun moyen de  remplir une table d'une maniere plus rapide qu'a la main? ou de basculer sur un serveur dedie?

Hors ligne gchauvel

  • Débutant
  • *
  • Messages: 9
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #3 le: 09 mai 2004 à 19:09:50 »
oui

 de plus en installant sur le serveur 2 le script moregroupware j'ai impossiblite de creer le site moregroupware qui fonctionne correctement sur mon site dans le serveur 1 ???

je suis sur un url tempo2.phpnet.orgsur le serveur 2 avant de basculer les dns du site  serais ce la raison????

dur le php .... mais c'est grandiose quand ca marche

Hors ligne alex

  • VIP
  • *****
  • Messages: 1 915
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #4 le: 10 mai 2004 à 10:50:29 »
Citer
merci pour ta reponse donc aucun moyen de  remplir une table d'une maniere plus rapide qu'a la main? ou de basculer sur un serveur dedie?
Si, via un dump de ta base au format SQL.

Citer
de plus en installant sur le serveur 2 le script moregroupware j'ai impossiblite de creer le site moregroupware qui fonctionne correctement sur mon site dans le serveur 1 ???

je suis sur un url tempo2.phpnet.orgsur le serveur 2 avant de basculer les dns du site serais ce la raison????
Rien compris...

(N.B. Il y a un bouton Editer pour modifier son post si on a oublié quelque chose...)
« Modifié: 10 mai 2004 à 10:52:20 par Alex »

Hors ligne CrazyTeacher

  • Connaisseur
  • ***
  • Messages: 331
    • http://www.koi29.info
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #5 le: 10 mai 2004 à 11:15:14 »
Personnellement, pour mettre à jour une table via un fichier CSV (délimiteur ; )
je fais un script PHP où l'utilisateur copie/colle son fichier dans un TEXTAREA.

Aprés validation du formulaire d'envoi, je teste le texte(sécurité) puis
je fais un explode dans un tableau de lignes
et ensuite une routine pour mettre à jour la table ou remplir une nouvelle table.

çà marche impec.
Une chose qui convainc n'est pas vraie pour autant. Elle est seulement convaincante. Remarque destinée aux ânes.  /*La Volonté de Puissance*/ Nietzsche

"Parler pour ne rien dire et ne rien dire en parlant est le principe de ceux qui feraient mieux de la fermer avant de l'ouvrir ! "     Pierre Dac

koi29.info

Hors ligne Nico78

  • Débutant
  • *
  • Messages: 62
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #6 le: 10 mai 2004 à 23:27:05 »
Citer
Personnellement, pour mettre à jour une table via un fichier CSV (délimiteur ; )
je fais un script PHP où l'utilisateur copie/colle son fichier dans un TEXTAREA.

Aprés validation du formulaire d'envoi, je teste le texte(sécurité) puis
je fais un explode dans un tableau de lignes
et ensuite une routine pour mettre à jour la table ou remplir une nouvelle table.

çà marche impec.
bonjour,

peux tu nous donner le source de ton script ?

Cela nous ferait gagner du temps.


Nicolas

Hors ligne CrazyTeacher

  • Connaisseur
  • ***
  • Messages: 331
    • http://www.koi29.info
Probleme Pour Transferer Un .cvs Dans Une Table
« Réponse #7 le: 12 mai 2004 à 07:43:58 »
voici un extrait d'un script que j'ai écrit pour permettre l'envoi d'appréciations pour un groupe d'étudiants.
je ne l'ai pas mis au complet .
// extrait du formulaire
// il y abien d'autres choses au préalable : un autre formulaire qui permet de choisir la section, le trimestre, la matière mais c'est le gestionnaire de commandes qui fait l'aiguillage avec le switch cmd

.......
echo "<TABLE   bgColor='#99CCCC' cellpadding='0' cellspacing='0' border='0' width='100%' >\n";
echo "<TR><TD align='middle'>";
echo "<form method='POST' action='$PHP_SELF'><input type='hidden' name='cmd' value='IMPORTATION'>\n";
echo "<input type='hidden' name='numtrimestre' value='$a_trim'>\n";
echo "<input type='hidden' name='section' value='$a_section'>\n";
echo "<input type='hidden' name='nommatiere' value='$a_matiere'>\n";
echo "<TEXTAREA  NAME='importext' ROWS='10' COLS='70' WRAP='Physical'>$form[text]</TEXTAREA>\n";
echo "</TD></TR>\n";
echo "<TR><TD align='middle'><br><input  type='submit' value='  Importer  '></form></TD></TR>\n";
echo "<TR><TD>&nbsp;</TD></TR></TABLE>\n";

// gestion des commandes : se trouve tout au début du script aprés les include divers
.....
if ( isset( $cmd ) )    // true si cmd existe
{
      switch( $cmd )
      {
            case "IMPORTATION" :
                 $form[text] = trim($importext);
   if ( empty($importext)  )  
      header ("Location: $PHP_SELF?".SID."&message=ECHEC:+Zone+Vide");
            else  
            {
                 //quelques tests de sécurité
......
      // analyse du texte
                parseCSV( $nommatiere, $numtrimestre, $section, $importext );
            }
          break;
          case ........;

           break;
      }
}
// fonction
/*-----------------------------------------------------------------------------------
fonction parseCSV
objectifs : analyser le texte entré
entrées : matière, trimestre, section, $texte
------------------------------------------------------------------------------------*/
function parseCSV( $matX, $trimX, $sectionX, $texte )
{
global $PHP_SELF;

$crlf = "\r\n"; // Windows
$ligne = explode( $crlf, $texte); // convertit en tableau de lignes

// on récupère idmatiere
// execute une requete dans la table 'matiere' et charge le resultat dans req
$req = "SELECT * FROM matiere WHERE nommatiere='$matX'";
$result = mysql_query($req);
$row =mysql_fetch_row($result);
$idmat = $row[0]; // index idmatiere
///////////////////////////////////////////////
$n = count($ligne);
for ( $i=0; $i < $n; $i++ )
{
     $tab = explode( ";", $ligne[$i] );  //eclate la ligne
     //  $tab[0] =nom   $tab[1]=prenom    $tab[2]=commentaire
     // il faut tester le nom et la section
     $nom = strtoupper( $tab[0] );
     $idetud = doublon_dans_section( $nom, strtoupper($sectionX) );
     if ( $idetud == -1 ) // doublon, on teste les prenoms (= 50% similitude)
     {
       $idetud = parse_prenom(  $nom, $tab[1], $sectionX );
       if  ( $idetud == -1 // moins de 50% de similitude des prenoms
       {  
                header ("Location: $PHP_SELF?message=PROBLEME:+bla+bla+bla");  
return;
       }
     }
               // on met à jour car les correspondances sont OK
      mysql_query ("UPDATE notes SET commentaire = '$tab[2]' WHERE (idetudiant = '$idetud') AND (idmatiere = '$idmat') AND (numtrimestre ='$trimX')");
}
           header ("Location: $PHP_SELF?message=Table+Notes+:+Mise+à+jour+Commentaires+effectuée");
}

çà marche trés bien à condition que le fichier CSV soit correct.
Ce qui est indiqué ici n'a pour but que d'indiquer la démarche.
Une chose qui convainc n'est pas vraie pour autant. Elle est seulement convaincante. Remarque destinée aux ânes.  /*La Volonté de Puissance*/ Nietzsche

"Parler pour ne rien dire et ne rien dire en parlant est le principe de ceux qui feraient mieux de la fermer avant de l'ouvrir ! "     Pierre Dac

koi29.info