par
elevedavid » 01 juil. 2023, 21:56
ayant un problème de Boolean j'ai modifier mon code mais toujours le même message d'erreur !!
est ce que le format d'une date dans un bdd est un string??
voici mon nouveau code
<?php
//connexion erveur
$mysqli = new mysqli('localhost', 'root', '', 'bdd_meteo');
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
echo 'Echec de la connection' . $mysqli->connect_error;
exit();
}
//traitement des données csv pour les insérer dans la bdd
if (($handle = fopen("meteo.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$data_utf8=[];
foreach($data as $item_data)
{
$var=str_replace('é','e',$item_data);
$data_utf8[]=str_replace('è','e',$var);
}
$date = $data_utf8[0];
$ville = $data_utf8[1];
$periode = $data_utf8[2];
$resume = $data_utf8[3];
$id_resume = $data_utf8[4];
$temp_min = $data_utf8[5];
$temp_max = $data_utf8[6];
$commentaire = $data_utf8[7];
$mysqli->query('INSERT INTO infos_meteo (jour, ville, periode, resume, id_resume, temp_min, temp_max, commentaire)
VALUES ("'. $date .'" , "'. $ville .'" ,"'. $periode .'" , "'. $resume .'" , "'. $id_resume .'" , "'. $temp_min .'" , "'. $temp_max .'" , "'. $commentaire .'")');
}
fclose($handle);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
$day='2100-12-05';
$result = $mysqli->query('SELECT info_meteo_id, jour, ville, periode, resume, id_resume, temp_min, temps_max, commentaire FROM infos_meteo WHERE jour > "'.$day.'"');
//création du nouvel array
$row = $result->fetch_array();
if ($row[0] <= 0)
{
echo ' n\'est pas dans notre base.';
}
else
{
$result = $mysqli->query('SELECT info_meteo_id, jour, ville, periode, resume, id_resume, temp_min, temps_max, commentaire FROM infos_meteo');
while ($row = $result->fetch_array()) {
$jours[$row['info_meteo_id']] = $row['jour'];
$villes[$row['info_meteo_id']] = $row['ville'];
$periodes[$row['info_meteo_id']] = $row['periode'];
$id_resumes[$row['info_meteo_id']] = $row['id_resume'];
$temp_mins[$row['info_meteo_id']] = $row['temp_min'];
$temp_maxs[$row['info_meteo_id']] = $row['temp_max'];
$commentaires[$row['info_meteo_id']] = $row['commentaire'];
}
}
?>
<ul>
<?php foreach($jours as $info_meteo_id => $jour) : ?>
<li> <?php echo $jour ?></li>
<?php endforeach ?>
</ul>
</body>
</html>
ayant un problème de Boolean j'ai modifier mon code mais toujours le même message d'erreur !!
est ce que le format d'une date dans un bdd est un string??
voici mon nouveau code
[PHP]
<?php
//connexion erveur
$mysqli = new mysqli('localhost', 'root', '', 'bdd_meteo');
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
echo 'Echec de la connection' . $mysqli->connect_error;
exit();
}
//traitement des données csv pour les insérer dans la bdd
if (($handle = fopen("meteo.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$data_utf8=[];
foreach($data as $item_data)
{
$var=str_replace('é','e',$item_data);
$data_utf8[]=str_replace('è','e',$var);
}
$date = $data_utf8[0];
$ville = $data_utf8[1];
$periode = $data_utf8[2];
$resume = $data_utf8[3];
$id_resume = $data_utf8[4];
$temp_min = $data_utf8[5];
$temp_max = $data_utf8[6];
$commentaire = $data_utf8[7];
$mysqli->query('INSERT INTO infos_meteo (jour, ville, periode, resume, id_resume, temp_min, temp_max, commentaire)
VALUES ("'. $date .'" , "'. $ville .'" ,"'. $periode .'" , "'. $resume .'" , "'. $id_resume .'" , "'. $temp_min .'" , "'. $temp_max .'" , "'. $commentaire .'")');
}
fclose($handle);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
$day='2100-12-05';
$result = $mysqli->query('SELECT info_meteo_id, jour, ville, periode, resume, id_resume, temp_min, temps_max, commentaire FROM infos_meteo WHERE jour > "'.$day.'"');
//création du nouvel array
$row = $result->fetch_array();
if ($row[0] <= 0)
{
echo ' n\'est pas dans notre base.';
}
else
{
$result = $mysqli->query('SELECT info_meteo_id, jour, ville, periode, resume, id_resume, temp_min, temps_max, commentaire FROM infos_meteo');
while ($row = $result->fetch_array()) {
$jours[$row['info_meteo_id']] = $row['jour'];
$villes[$row['info_meteo_id']] = $row['ville'];
$periodes[$row['info_meteo_id']] = $row['periode'];
$id_resumes[$row['info_meteo_id']] = $row['id_resume'];
$temp_mins[$row['info_meteo_id']] = $row['temp_min'];
$temp_maxs[$row['info_meteo_id']] = $row['temp_max'];
$commentaires[$row['info_meteo_id']] = $row['commentaire'];
}
}
?>
<ul>
<?php foreach($jours as $info_meteo_id => $jour) : ?>
<li> <?php echo $jour ?></li>
<?php endforeach ?>
</ul>
</body>
</html>
[/PHP]