sanastasia
Goto Top

MySQL spalten in tabellenform ausgeben

Hallo, möchte 2 Spalten einer Datenbank in Tabellenform ausgeben, später sollen es mal 4 sein.
Das ist das was ich habe:
<html>
<head>
<meta charset="utf-8"/>  
<title>artikel-ausgeben</title>
</head>
<body>
<?php 
$data = array();
$mysqli = new mysqli("localhost", "root", "", "bestelldatenbank");  
if ($mysqli->connect_error) {
echo "Verbindungsfehler: " . $mysqli->connect_error;  
exit();
}
if (!$mysqli->set_charset("utf-8")) {  
	echo "Fehler beim Laden von UTF8".$mysqli->error;  
}

$sql = "SELECT artikel FROM bestelldatenbank";  
if ($ergebnis = $mysqli -> query($sql))
{ 
$alleSpalten = $ergebnis->fetch_fields();
foreach($alleSpalten As $spalte)
		
	{
		echo "Artikelnummer:".$spalte->anr ."<br />\n";  
		echo "Artikelgruppe:".$spalte->gnr ."<br />\n";  
	}
	$ergebnis -> free();
}
$mysqli ->close();
	
?>

</body>
</html>

Ich mache bestimmt viele Fehler. Hab leider sonst keinen Ansprechpartner, deshalb hier die vielen Fragen. Danke für die freundlichen Antworten ;)

Viele Grüße,
Sanastasia

Content-Key: 375641

Url: https://administrator.de/contentid/375641

Printed on: April 24, 2024 at 23:04 o'clock

Member: erikro
erikro May 31, 2018 at 10:45:45 (UTC)
Goto Top
Moin,

Zitat von @Sanastasia:
$sql = "SELECT artikel FROM bestelldatenbank";
if ($ergebnis = $mysqli -> query($sql))
{
$alleSpalten = $ergebnis->fetch_fields();
foreach($alleSpalten As $spalte)

{
echo "Artikelnummer:".$spalte->anr ."<br />\n";
echo "Artikelgruppe:".$spalte->gnr ."<br />\n";
}
$ergebnis -> free();

So wird das nichts. Das SELECT ist falsch. Du rufst mit dem Befehl die Spalte artikel aus der Datentabelle bestelldatenbank auf und willst dann die Spalten anr und gnr ausgeben. Die sind aber im Query gar nicht vorhanden. Ich vermute mal, dass es eher so heißen sollte:

select anr, gnr from artikel

Für weitere Informationen zu SQL guckst Du hier:
https://www.w3schools.com/sql/sql_select.asp

hth

Erik
Member: Sanastasia
Sanastasia May 31, 2018 at 11:05:51 (UTC)
Goto Top
hm ok, hab ich probiert aber immernoch keine Ausgabe. Habe gerade gelesen das ich dafür auch noch prepared Statements verwenden soll ;/ ich blick da einfach im Moment nicht mehr durch und einen wirklichen Ansprechpartner habe ich auch nicht.
Member: erikro
erikro May 31, 2018 updated at 11:43:01 (UTC)
Goto Top
Moin,

guckst Du da:
http://www.schattenbaum.net/php/mstart.php

Liebe Grüße

Erik

<edit>P.S.: Was mir gerade auffällt. Es wäre besser PHP-Fragen im Bereich PHP zu stellen und nicht in Python. ;)</edit>
Member: Arano
Arano May 31, 2018 at 13:23:45 (UTC)
Goto Top
Hallo Sanastasia.

Dein Fehler ist zu allererste wahrscheinlich das du dir die Fehlermeldungen nicht anzeigen lässt:
<?php
    ini_set('display_errors', 'On');  
    ini_set('error_reporting', E_ALL);  
?>
So, oder in der PHP.ini oder ggf. in der Apache-Konfiguration. Für ein Entwicklungssystem, nicht im Live-System.

2a. Heißt deine TABELLE wirklich "bestellDATENBANK" ? Deine Datenbank selber heißt schon "bestelldatenbank" hast du darin nicht eine Tabelle "artikel" (o.ä.) mit den Spalten 'anr' und 'gnr' ?

2b. Für dein
if ($ergebnis = $mysqli -> query($sql)) 
fehlt das else falls das Query fehlschlägt (s.2a). Da es nichts gibt, siehst du nichts.


~Arano
Member: swiss-electronics
swiss-electronics Nov 21, 2018 at 19:05:32 (UTC)
Goto Top
Die Frage ist schon etwas her, falls Du aber immer noch keine Lösung hast würde ich dir empfehlen die Struktur des gesamten Codes etwas umzugestalten. Denn nur wenn Du verstehst was Du tust, wird es Früchte tragen.

Zuerst stellen wir eine Verbindung mit dem Server her:
$servername = "localhost";  
$username = "user";  
$database = "bestelldatenbank";  
$password = "password";  
$con = new mysqli($servername, $username, $password, $database);

Danach machen wir eine Abfrage auf Deinem MySQL Server:
$sql="SELECT artikel FROM bestelldatenbank";   

Erstellen eines Schleifen-Arrays:
$result = mysqli_query($con, $sql);
while($rows = mysqli_fetch_array($result));

Und geben das Ergebnis in einer Tabelle aus:
<table>
<tbody>
<tr>
<td><?php echo $rows["artikel"]; ?></td>  
</tr>
</tbody>
</table>

Alles zusammen würde es dann so aussehen:
<table>
<tbody>
<?php 
$servername = "localhost";  
$username = "user";  
$database = "bestelldatenbank";  
$password = "password";  
$con = new mysqli($servername, $username, $password, $database);

$sql="SELECT artikel FROM bestelldatenbank";   

$result = mysqli_query($con, $sql);
while($rows = mysqli_fetch_array($result)) { ?>
<td><?php echo $rows["artikel"]; ?></td>  
<?php } ?>
</tr>
</tbody>
</table>