Hallo zusammen,
habe ein kleines Problem.
Ich kann über mein Formular zu bestimmten Artikelnummer die ausgewählten Attribute (Name, EAN, etc..) suchen.
Diese möchte ich nun in eine CSV exportieren.
Leider übernimmt er immer nur den letzten Datensatz (hängt mit der foreach für die Abfrage zusammen?!).
Ich denke, dass ich einfach den Wald vor lauter Bäumen nicht erkenne und das Problem wahrscheinlich auf der Hand liegt und würde mich freuen, falls jemand einen Tipp hat!
Der Code für die Abfrage:
Und der Script für den Export (erstellt nach Tutorials bei Youtube und diversen Websites):
Ich weiß, es wird wohl einige gravierende Fehler geben...
Für Kritik bin ich immer gerne offen, da ich noch nicht lange in der Materie bin!
habe ein kleines Problem.
Ich kann über mein Formular zu bestimmten Artikelnummer die ausgewählten Attribute (Name, EAN, etc..) suchen.
Diese möchte ich nun in eine CSV exportieren.
Leider übernimmt er immer nur den letzten Datensatz (hängt mit der foreach für die Abfrage zusammen?!).
Ich denke, dass ich einfach den Wald vor lauter Bäumen nicht erkenne und das Problem wahrscheinlich auf der Hand liegt und würde mich freuen, falls jemand einen Tipp hat!
Der Code für die Abfrage:
PHP-Code:
<?PHP
if(isset($_POST['produktinfo']))$_SESSION['produktinfo'] = $_POST['produktinfo'];
if(isset($_POST['suche2']) && isset($_POST['suche2']))
{
if(isset($_SESSION['produktinfo']))
{
$daten = implode(",", $_SESSION['produktinfo']);
}
if (!isset($_SESSION['artikel'])) $_SESSION['artikel']=array();
if(in_array($_POST['suchfeld'], $_SESSION['artikel']))
{
echo "Das Produkt ist bereits vorhanden!";
}
else
{
$_SESSION['artikel'][] = $_POST['suchfeld'];
}
$suche = $_SESSION['artikel']; //in $suche ist ein Array aus den Artikelnummern des Suchfeldes
if(isset($suche) && !empty($suche))
{
//Tabelle wird erstellt
echo "<table border=\"1\">";
//Tabellenspalten werden erstellt
foreach($_SESSION['produktinfo'] as $info)
{
echo "<th>$info</th>";
}
echo "<th>Löschen</th>";
echo "</tr>";
foreach($suche as $artikel)
{
$sql="SELECT $daten FROM tbl_basisdaten WHERE Artikelnummer LIKE'".mysqli_real_escape_string($conn,$artikel)."' OR Artikelname LIKE'".mysqli_real_escape_string($conn,$artikel)."'";
//Ausgabe Tabelle erzeugen
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_array($result, MYSQLI_ASSOC);
foreach($row as $feld=>$value)
{
echo "<td>$value</td>";
next($row);
}
echo "<td align=\"center\"><input type=\"checkbox\" name=\"loeschen[]\" value=$artikel></td>";
echo "</tr>";
}
echo "</table>";
}
else if(!isset($suche) || empty($suche))
{
echo"Bitte geben Sie eine Artikelnummer ein";
}
}
?>
Und der Script für den Export (erstellt nach Tutorials bei Youtube und diversen Websites):
PHP-Code:
else if(isset($_POST['export1']) && isset($_POST['export1']))
{
$conn=mysqli_connect('localhost', 'administrator', 'administrator');
$db=mysqli_select_db($conn,"db_produktdatenbank");
if(isset($_SESSION['produktinfo']))
{
$daten = implode(",", $_SESSION['produktinfo']);
}
$suche = $_SESSION['artikel']; //in $suche ist ein Array aus den Artikelnummern des Suchfeldes
foreach($suche as $artikel)
{
$sql="SELECT $daten FROM tbl_basisdaten WHERE Artikelnummer LIKE'".mysqli_real_escape_string($conn,$artikel)."' OR Artikelname LIKE'".mysqli_real_escape_string($conn,$artikel)."'";
//Ausgabe Tabelle erzeugen
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_array($result, MYSQLI_ASSOC);
}
//var_dump($row);
$filename = 'uploads/'.strtotime("now").'.csv';
$fp = fopen($filename,"w");
$seperator = "";
$comma = "";
foreach($row as $name => $value)
{
$seperator .= $comma . '' .str_replace('','""',$name);
$comma = ",";
}
$seperator .= "\n";
fputs($fp,$seperator);
mysqli_data_seek($result, 0);
while($row = mysqli_fetch_assoc($result))
{
$seperator = "";
$comma = "";
foreach($row as $name => $value)
{
$seperator .= $comma . '' .str_replace('','""',$value);
$comma = ",";
}
$seperator .= "\n";
fputs($fp,$seperator);
}
fclose($fp);
}
?>
Für Kritik bin ich immer gerne offen, da ich noch nicht lange in der Materie bin!
Kommentar