Tabellen laten zien met echo
Dit script wil ik aanpassen ik wil uit de database alle tabellen kunnen lezen.
Het volgende script bevat wel de query SHOW * FROM database.
Maar ook wordt er gebruik gemaakt van fetch_assoc, dit moet vervangen worden door het juiste mysqli commando, maar die vind ik niet in de mysqli sectie. Wel commando's om rows etc. te verwerken.
Weet iemand welke instructie gebruikt kan worden om de tabellen te laten zien en hoe het script er vervolgens uit komt te zien?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
function schrijf_inhoud () {
require_once 'Verbind-db.php'; // script aanroepen om met db te verbinden
// met dit script wil ik de tabellen uitlezen uit de database
//
$sql = "SHOW * FROM database"; // dus show alle tabellen van database
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// dit is nu output data van iedere rij, moet dit wijzigen
while($row = $result->fetch_assoc()) // fetch_assoc ?? is niet juiste commando om tabellen te laten zien
{
echo $row["???????"]; // is fout omdat er tabellen gaan worden geshowed
}
}
else
{
echo " nul resultaat";
}
$conn->close();
return;
}
echo "<br><br><br>";
echo "In de database zitten de volgende records : " ;
echo schrijf_inhoud ();
?>
function schrijf_inhoud () {
require_once 'Verbind-db.php'; // script aanroepen om met db te verbinden
// met dit script wil ik de tabellen uitlezen uit de database
//
$sql = "SHOW * FROM database"; // dus show alle tabellen van database
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// dit is nu output data van iedere rij, moet dit wijzigen
while($row = $result->fetch_assoc()) // fetch_assoc ?? is niet juiste commando om tabellen te laten zien
{
echo $row["???????"]; // is fout omdat er tabellen gaan worden geshowed
}
}
else
{
echo " nul resultaat";
}
$conn->close();
return;
}
echo "<br><br><br>";
echo "In de database zitten de volgende records : " ;
echo schrijf_inhoud ();
?>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 27/05/2015 15:20:44 door - Ariën -
Code (php)
1
2
3
2
3
$db = new mysqli({connectiegegevens hier...}); // http://php.net/manual/en/mysqli.construct.php
$resultaat = $db->query('SHOW TABLES');
foreach ($resultaat->fetch_assoc() as $tabelnaam) echo $tabelnaam . '<br/>';
$resultaat = $db->query('SHOW TABLES');
foreach ($resultaat->fetch_assoc() as $tabelnaam) echo $tabelnaam . '<br/>';
Waarvoor wordt fetch_assoc gebruikt doorgaans?
Ik vraag me dit af omdat de uitleg van php.net is dat fetch_assoc gebruikt wordt om een row op te halen.
Hiermee haal je een record op en geen tabel volgens mij maar kan het niet goed hebben.
Ik vergelijk het maar met een excel blad.
Je hebt kolommen en rijen en kolommen zijn in mijn geval de tabellen en rijen zijn rows of records. fetch_assoc komt dan niet over als een instructie die hier gebruikt wordt.
Gewijzigd op 27/05/2015 14:42:04 door Johan West
Code (php)
1
2
3
4
5
2
3
4
5
$db = new mysqli('{host}', '{uid}', '{pwd}', '{database}'); // http://php.net/manual/en/mysqli.construct.php
$resultaat = $db->query('SHOW TABLES');
while ($row = $resultaat->fetch_assoc()) {
echo current($row) . '<br/>';
}
$resultaat = $db->query('SHOW TABLES');
while ($row = $resultaat->fetch_assoc()) {
echo current($row) . '<br/>';
}
Toevoeging op 27/05/2015 15:09:45:
fetch_assoc() wordt gebruikt om een rij uit te resultaatset van een database query op te halen naar PHP, en fetch_assoc() zet het resultaat in een associatieve array.
Dus als je de inhoud van alle tabellen in de database in 1x wilt inlezen (al begrijp ik de use case niet) dan moet je dat in een paar lussen in PHP doen. En dan hopen dat de database niet groter is dan de hoeveelheid RAM :-)
Als je je een excel doc voorstelt krijg je het volgende
Exceldoc naam : wordt $Bestandsnaam in MYSQL
Exceldoc Tabblad: wordt $Tabel in MYSQL
De verdere opzet is nu dat de kolom in mysql een $variabele_A bevat en hieraan is gelijk een ander veld gekoppeld, dus nog een variabele genaamd $variabele_B. Dit kan als je je excel voor de geest haalt in principe op 2 rijen, of de kolom krijgt de naam van de $variabele_A of dit wordt rij 1.
Gewijzigd op 27/05/2015 16:29:26 door Johan West
ahja, de code uit m'n vorige reactie laat in ieder geval alle tabelnamen zien. Maar wat je wilt klinkt wel wat ingewikkelder; ik snap de context van je vraag niet goed. Wil je een soort phpMyAdmin nabouwen? Wil je Excel nabouwen? Moet je documentatie maken in Excel voor een bestaande database?
Toevoeging op 27/05/2015 17:38:36:
ik heb van de excel opzet een schermafdruk gemaakt.
Maar de opbouw is eigenlijk off topic. Het is zomaar een idee van hoe bestanden in MYSQL ier uit zouden kunnen zien.
Zie:
- http://nl.wikipedia.org/wiki/Entity-relationshipmodel
- http://en.wikipedia.org/wiki/Data_dictionary (Engels)
Toevoeging op 28/05/2015 16:07:12:
Het stukje script is inmiddels in orde.
Topic kan sluiten.