Ecriture de la table voiture dans un fichier"; // effacemet du fichier s'il existe if ( file_exists($file_path) ) { if ($debug_flag) echo "effacement ancien".$file_path."
"; unlink($file_path); } // ouverture du fichier en ecriture if ($debug_flag) echo "ouverture ".$file_path."
"; $fp = fopen($file_path, "w"); if ($debug_flag) echo "pointeur de fichier fp = ".$fp."
"; // Ecriture du fichier CSV grace a fputcsv() if ( $fp != false ) { if ($debug_flag) echo "Ecriture dans ".$file_path."
"; GetNbMarqueModel($tab_car, $nb_marque, $nb_modele); // Entete table fputcsv($fp, $tab_car[0], "\t"); if ($debug_flag) print_r($tab_car[0]); if ($debug_flag) echo "
"; // Lignes for ($k = 1; $k <= $nb_modele; $k++) { fputcsv($fp, $tab_car[$k], "\t"); if ($debug_flag) print_r($tab_car[$k]); if ($debug_flag) echo "
"; } fclose($fp); } else { print("Impossible d'ouvrir le fichier $file_path
"); return(false); } return(true); } // Mapping de la table initiale vers une table formatée pour le formulaire function MakeTable4Form($tab_car, &$nb_lig_tab_car, &$nb_marque, &$nb_modele) { global $debug_flag; $table4form = array(); GetNbMarqueModel($tab_car, $nb_marque, $nb_modele); $nb_lig_tab_car = $nb_marque * ($nb_modele+1); if ($debug_flag) echo "nb_marque = ".$nb_marque." nb_modele = ".$nb_modele."
"; for($i=0; $i< $nb_marque; $i++ ) { $num_marque_ligne = $i*($nb_modele+1); $table4form[$num_marque_ligne][0] = $tab_car[0][2*$i]; $table4form[$num_marque_ligne][1] = "Prix"; if ($debug_flag) echo $num_marque_ligne." : ".$table4form[$num_marque_ligne][0]." - ".$table4form[$num_marque_ligne][1]."
"; for($j = 0; $j < $nb_modele; $j++) { $num_modele_ligne = $i*($nb_modele+1)+1+$j; $table4form[$num_modele_ligne][0] = $tab_car[$j+1][2*$i]; $table4form[$num_modele_ligne][1] = $tab_car[$j+1][2*$i+1]; if ($debug_flag) echo $num_modele_ligne." : ".$table4form[$num_modele_ligne][0]." - ".$table4form[$num_modele_ligne][1]."
"; } } return($table4form); } // Creation formulaire a partir de la table formatée pour le formulaire function CreateForm($tab4form, $nb_modele, $nb_marque) { global $debug_flag; $formstring = ""; $formstring = "
\n"; $formstring .= "\n"; for ($i = 0; $i < $nb_marque; $i++) { // Marque $k = $i*($nb_modele+1); $current_marque = $tab4form[$k][0]; // Entete Marque $formstring .= "\n"; $formstring .= "\n"; $formstring .= "\n"; // Modèles de la Marque for ( $j=1; $j <= $nb_modele; $j++) { $k++; $formstring .= "\n"; // Lignes formulaire if ($debug_flag) echo "ligne ".$k." ".$current_marque." - modele ".$j." : modele".$k." =>".$tab4form[$k][0]."
"; $formstring .= ""; $formstring .= ""; $formstring .= ""; $formstring .= "\n"; } } // Bouton valider $formstring .= "\n"; $formstring .= ""; $formstring .= "\n"; $formstring .= "
".$current_marque."
Modele ".$j." : Prix :
"; $formstring .= ""; $formstring .= "
\n"; $formstring .= "
"; return($formstring); } // Copie des résultat du formulaire dans la table function Form2TableCar($nb_modele, $nb_marque) { global $debug_flag; $nb_marque = 0; $k = 1; $tab_car[] = array(); if ($debug_flag) echo "

Creation de la table voiture apres validation formulaire

"; while (isset($_POST["marque".$k])) { $marque = $_POST["marque".$k]; $tab_car[0][2*$nb_marque] = $marque; $tab_car[0][2*$nb_marque+1] = "Prix"; for($j=1;$j<=$nb_modele;$j++) { if ($debug_flag) echo $marque." - Modele ".$j." ".$_POST["modele".$k]." - ".$_POST["prix".$k]."
"; $tab_car[$j][2*$nb_marque] = $_POST["modele".$k]; $tab_car[$j][2*$nb_marque+1] = $_POST["prix".$k]; $k++; } $nb_marque++; $k = $nb_marque*($nb_modele+1)+1; } return($tab_car); } ?> TD3 - Génération et traitement des formulaires HTML

TD3 - Génération et traitement des formulaires HTML

"; if (isset($_POST["marque".$k])) { $genere_form = false; } } if ($debug_flag) echo "genere_form : ".$genere_form."
"; if ( $genere_form ) { // Genere formulaire $table4form = MakeTable4Form($tab_car, $dim_tab_car, $nb_marque, $nb_modele); echo CreateForm($table4form, $nb_modele, $nb_marque); } else { echo 'Le formulaire a bien écris les données !'; echo ' '; //Lit formulaire en cree une nouvelle table $new_tab_car = Form2TableCar($nb_modele, $nb_marque); // vérification table if ($debug_flag) print_r($new_tab_car); // Ecriture en fichier WriteTabCar2File("./voiture.txt", $new_tab_car); } ?>

Les champs marqués d'une * sont obligatoires