Tabellen laten zien met echo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan West

Johan West

27/05/2015 14:01:54
Quote Anchor link
Ik heb een script dat ik gebruik om records uit een tabel te lezen.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 ();
?>

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 27/05/2015 15:20:44 door - Ariën -
 
PHP hulp

PHP hulp

05/11/2024 13:27:35
 

27/05/2015 14:12:28
Quote Anchor link
iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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/>';
Gewijzigd op 27/05/2015 14:13:14 door
 
Johan West

Johan West

27/05/2015 14:38:15
Quote Anchor link
@ An tje: je denkt dat fetch_assoc wel gebruikt kan worden?

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
 

27/05/2015 15:08:32
Quote Anchor link
Sorry, ik zat te slapen. Code had moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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/>';
}

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 :-)
Gewijzigd op 27/05/2015 15:12:07 door
 
Johan West

Johan West

27/05/2015 15:54:35
Quote Anchor link
Het gaat me niet om het inlezen van de inhoud van de tabel, maar om de naam van de tabel.

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
 

27/05/2015 16:51:20
Quote Anchor link
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?
 
Johan West

Johan West

27/05/2015 17:16:58
Quote Anchor link
@ An tje, nee ik wil niet excel of phpmyadmin namaken, maar excel is ook een bestand en je kunt excel gebruiken om de opzet van een database te verduidelijken.

Toevoeging op 27/05/2015 17:38:36:

ik heb van de excel opzet een schermafdruk gemaakt.

Afbeelding

Maar de opbouw is eigenlijk off topic. Het is zomaar een idee van hoe bestanden in MYSQL ier uit zouden kunnen zien.
 

27/05/2015 18:03:05
Quote Anchor link
Welk aspect van een database zou je willen verduidelijken? Het concept relationele database is al vrij oud. Sinds dat Codd zo'n 45 jaar geleden de theorie uitgewerkt had en dat grotere softwarebedrijven als IBM het implementeerden, zijn er ook vele tools ontwikkeld om databases te verduidelijken. Een relevante weergave is het ERD-model en een data dictionary. Dat is vaak voldoende.
Zie:
- http://nl.wikipedia.org/wiki/Entity-relationshipmodel
- http://en.wikipedia.org/wiki/Data_dictionary (Engels)
 
Johan West

Johan West

27/05/2015 18:08:06
Quote Anchor link
Ik denk we off topic raken. Ik zoek stukjes code om het te bewerkstelligen.



Toevoeging op 28/05/2015 16:07:12:


Het stukje script is inmiddels in orde.

Topic kan sluiten.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.