diff --git a/2020-2021/TD3/index.php b/2020-2021/TD3/index.php index 195e848..c188618 100755 --- a/2020-2021/TD3/index.php +++ b/2020-2021/TD3/index.php @@ -7,6 +7,9 @@ * @Create Time: 05-10-2020 10:26 * @Description: M314 - TD3 */ + +file_put_contents('./voiture.txt', ""); + ?> @@ -43,6 +46,9 @@ + + + diff --git a/2020-2021/TD3/voiture.txt b/2020-2021/TD3/voiture.txt new file mode 100755 index 0000000..e69de29 diff --git a/2020-2021/TD3/voitures.php b/2020-2021/TD3/voitures.php new file mode 100755 index 0000000..3638385 --- /dev/null +++ b/2020-2021/TD3/voitures.php @@ -0,0 +1,262 @@ + + +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

+ + + + + + + + + + \ No newline at end of file