[php] totale inhoud database-tabel in html-tabel zetten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 09-07 18:50
De bedoeling is het totaal aantal rijen in bijv. de tabel "User" in een html-tabel te zetten met behulp van PHP.

De html-tabel moet dus 'on the fly' aangepast worden aan het aantal rijden in de database.

Om makkelijker te beginnen probeer ik eerst simpelweg alle gegevens uit de database op het scherm te tonen door middel van de volgende code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$i=0;
                
                $dbId = mysql_connect($host, $dbUser, $dbPsw); //connectie met MySQL maken
                mysql_select_db($db); //database selectie
                
                $gebruikersQuery = mysql_query("SELECT name, id FROM user"); //selecteer ID en Name uit de tabel 'USER'
                        
                $gebruikersResultName = mysql_result($gebruikersQuery,0,'name');
                $gebruikersResultId = mysql_result($gebruikersQuery,0,'id');
                
                
                while ($gebruikersQuery->next_record($i)) 
                    {     
                    $i++;
                    echo $gebruikersResultName;
                    echo $gebruikersResultId;
                    }


De error die ik krijg (Fatal error: Call to a member function on a non-object in c:\program files\apache group\apache\htdocs\md-extranet\mainpage.php) verwijst naar regel 12 (while...). Nu heb ik dat gedeelte uit een ander topic waar ik zosnel de URL ff niet van heb, maar daar werkte het schijnbaar wel.

De aanpassingen die ik gedaan heb hebben tot nu toe niet geleidt tot een andere foutmelding...

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


Acties:
  • 0 Henk 'm!

Verwijderd

hmmmzz dit vind ik wel een heeeele vage constructie,
zoek eens bij php.net op mysql

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:16
Moet je niet eerst je query openen?
Ben je wel zeker dat de veldnamen en tabelnamen in je query juist zijn, etc...

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 09-07 18:50
Misschien is er wel een veel simpelere oplossing, dat kan natuurlijk ook... Het idee is "zolang er regels in de database gevonden worden de variabelen $gebruikersResultName en $gebruikersResultId opnieuw invullen en echo-en naar de browser"

/edit
Ja de veldnamen en tabelname zijn juist. Het is ook een simpele tabel: user met daarin twee kolommen: name en id

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom gebruik je niet zoiets, is nl. veel makkelijker:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
                 
                $dbId = mysql_connect($host, $dbUser, $dbPsw); //connectie met MySQL maken 
                mysql_select_db($db); //database selectie 
                 
                $gebruikersQuery = mysql_query("SELECT name, id FROM user"); //selecteer ID en Name uit de tabel 'USER' 
                         
                while ($row = mysql_fetch_array($gebruikersQuery)) {      
                    echo $row["name"];
                    echo $row["id"]
                }

Acties:
  • 0 Henk 'm!

  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 09-07 18:50
Scripter, bedankt. Het werkt nu samen in een tabelletje. Alleen heb ik nog een vraagje nu:

Het is dus de bedoeling dat men een gebruiker kan selecteren om deze vervolgens te verwijderen/aan te passen.

Om dit te bereiken zet ik voor elke gevonden user een 'radiobutton'

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
while ($row = mysql_fetch_array($gebruikersQuery))
                    {
                    echo "<tr>";
                    echo "<td>";
                    echo "<form name='deleteuser' method='get' action='delete_user.php'>";
                    echo "<input type='radio' name='usertodelete' value='$gebruikersQuery'>";
                    //echo "<input type='hidden' name='deletesoort' value='personal'>";   
                                echo $row["name"];
                                echo "</td>";
                                //echo $row["id"];
                                echo "</tr>";
                                }


Op regel 6 wil ik opslaan welke gebruiker nu daadwerkelijk aangeklikt is zodat ik de juiste persoon uit de database kan verwijderen.

Hoe krijg ik nu in 'usertodelete' de juiste gebruikersnaam?

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


Acties:
  • 0 Henk 'm!

  • Mafioso
  • Registratie: November 2000
  • Laatst online: 17-09 20:33
$gebruikersQuery vervangen door $row[name] ? (Alleen in regel 6)

[ Voor 0% gewijzigd door Mafioso op 13-11-2002 23:45 . Reden: regel nr er bij ]


Acties:
  • 0 Henk 'm!

  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 09-07 18:50
Ah, dan was ik er BIJNA al! Ik had het vervangen door $row, maar dat werkte natuurlijk niet.

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec

Pagina: 1