Archief - admin pagina: users in db opvragen.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

KingOfWoods

Legacy Member
Hallo allemaal. Zoals sommige mss al gelezen hebben ben ik met php een site aan het maken voor school.

Ik heb momenteel al een databank waar users zich via mijn site kunnen op inschrijven.

Deze noemt tblusers en heeft als rijen (userId, UserName, UserPassword etc...)

Nu wil ik op mijn site een admin pagina maken die enkel toegankelijk is door gebruiker admin met pass admin bv. en op deze pagina zou ik dan een menu willen met alle users alphabetisch gerankschikt. Deze zou ik dan aan de hand van een knop willen kunnen bannen of deleten.

Hoe begin ik hier het beste aan? Zoals eerder vermeld ben ik zwaar noob en haal ik al mijn info uit tutorials. Maar sommige dingen vind ik niet makkelijk vanwege mijn beperkt jargon.

Slynx

Legacy Member
om te listen haal je gewoon je userid's en usernames uit je database, en je geeft deze weer in bv. een tabel. Eventueel zet je achter elke gebruiker een knop delete, waarbij je gewoon een delete statement doorgeeft naar je database.

Parnakra

Legacy Member
Als je die 2 tutorials (grondig) doorneemt zal je ongetwijfeld al een idee hebben hoe je iets als dit (op een rudimentaire manier) implementeert.

KingOfWoods

Legacy Member
Ik ben aan het verdrinken in tutorials :D

Ja aan W3schools heb ik al veel gehad, maar ik heb voornamelijk moeilijkheden met het maken van ingewikkeldere code's. Voor sommige is dat evident, maar ik heb echt moeilijkheden met die logica te verstaan.

Ik heb nu dus een code gemaakt (leve de tutorials die echt werken) die ervoor zorgt dat ik dus al mijn ID en usernames naast elkaar krijg met elke keer een delete knop naast.

Nu weet ik alleen niet hoe ik ervoor zorg dat de delete knop naast de username ervoor zorgt dat die username en id (eigenlijk gans de rij) gedelete wordt.

CODE:
PHP:
<<style>
<!--
th
{
background-color: #FAF8CC;
color:darkred;
width:200px;
border: 1px solid black;
}
td{
color:red;
border-bottom: 1px solid silver;
}
table
{
color:red;
text-align:center;
}
input{
	margin:5px 4px 0 5px;
	-moz-border-radius: 2px;
	border:1px solid red;
	background-color: #FAF8CC;
	color:red;
	font-weight: bold;
	padding:2px 30px 4px 30px;
	width:auto;
}
-->
</style>

<?php

include 'classes/Connection.php';

// aantal rijen per pagina
$rowsPerPage = 20;

// welke pagina bij start
$pageNum = 1;

if(isset($_GET['page']))
{
    $pageNum = $_GET['page'];
}

$offset = ($pageNum - 1) * $rowsPerPage;

$query = " SELECT UserId, UserName FROM tblusers " .
         " LIMIT $offset, $rowsPerPage";
$result = mysqli_query($link, $query) or die('Error, query failed');

echo "<table border='0'><tr><th>USER ID</th><th>USERNAME</th><th>ACTION</th></tr>";

while($row = mysqli_fetch_array($result))
{
   echo "<tr><td>".$row['UserId'] ."</td><td>". $row['UserName'] ."</td><td><input type='submit' value='Delete' /></td></tr>";
}
echo "</table>";

// hoeveel rijen hebben we
$query   = "SELECT COUNT(UserId) AS numrows FROM tblusers";
$result  = mysqli_query($link, $query) or die('Error, query failed');
$row     = mysqli_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// paginas?
$maxPage = ceil($numrows/$rowsPerPage);

// links printen
$self = $_SERVER['PHP_SELF'];
$nav  = '';

for($page = 1; $page <= $maxPage; $page++)
{
   if ($page == $pageNum)
   {
      $nav .= " $page ";
   }
   else
   {
      $nav .= " <a href=\"$self?page=$page\">$page</a> ";
   }
}

if ($pageNum > 1)
{
   $page  = $pageNum - 1;
   $prev  = " <a href=\"$self?page=$page\">[Prev]</a> ";

   $first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
   $prev  = ''; 
   $first = ''; 
}

if ($pageNum < $maxPage)
{
   $page = $pageNum + 1;
   $next = " <a href=\"$self?page=$page\">[Next]</a> ";

   $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
   $next = ''; 
   $last = ''; 
}

// navigatie bar
echo "<br />". $first . $prev . " Showing page $pageNum of $maxPage pages " . $next . $last;

?>

Ik dacht mss ergens met een counter werken die telt welke row bij welke delete knop hoort, maar geen idee hoe dit klaar te spelen.


Merci alvast voor de hulp hier mannen.

adrianhates

Legacy Member
je kan beter gewoon een link leggen met de id van je user om deze te deleten
of radiobuttons / checkboxen gebruiken om een selectie mogelijk te maken.

shadowstep0705

Legacy Member
ja best mischien elke knop de id geven van de user naam, en dan doorverwijzen naar een ander .php bestandje waar hij de id van de knop ophaalt en verwijdert uit de database (of wat je ook wil doen)

shadowstep0705

Legacy Member
heb hier even geprobeerd, ik heb een hidden gebruikt, je zal wel zien wat ik bij de while heb verandert, sorry als er typfouten instaan, heb alles snel moeten doen, sorry voor de dubbelpost:
gewone pagina:
PHP:
<style> 
<!-- 
th 
{ 
background-color: #FAF8CC; 
color:darkred; 
width:200px; 
border: 1px solid black; 
} 
td{ 
color:red; 
border-bottom: 1px solid silver; 
} 
table 
{ 
color:red; 
text-align:center; 
} 
input{ 
    margin:5px 4px 0 5px; 
    -moz-border-radius: 2px; 
    border:1px solid red; 
    background-color: #FAF8CC; 
    color:red; 
    font-weight: bold; 
    padding:2px 30px 4px 30px; 
    width:auto; 
} 
--> 
</style> 

<?php 

include 'classes/Connection.php'; 

// aantal rijen per pagina 
$rowsPerPage = 20; 

// welke pagina bij start 
$pageNum = 1; 

if(isset($_GET['page'])) 
{ 
    $pageNum = $_GET['page']; 
} 

$offset = ($pageNum - 1) * $rowsPerPage; 

$query = " SELECT UserId, UserName FROM tblusers " . 
         " LIMIT $offset, $rowsPerPage"; 
$result = mysqli_query($link, $query) or die('Error, query failed'); 

echo "<table border='0'><tr><th>USER ID</th><th>USERNAME</th><th>ACTION</th></tr>"; 

while($row = mysqli_fetch_array($result)) 

{ $userid = "$row['UserId']";
$username = "row['UserName'];
echo '<form action="delete.php" method="post">;
echo '<tr><td>'.$userid .'</td><td>'. $username .'</td><td><input type="hidden" name="usernametodelete" value='.$userid.' /><input type="submit" value="Delete" /></td></tr>';
echo '</form>';
} 
echo "</table>"; 

// hoeveel rijen hebben we 
$query   = "SELECT COUNT(UserId) AS numrows FROM tblusers"; 
$result  = mysqli_query($link, $query) or die('Error, query failed'); 
$row     = mysqli_fetch_array($result, MYSQL_ASSOC); 
$numrows = $row['numrows']; 

// paginas? 
$maxPage = ceil($numrows/$rowsPerPage); 

// links printen 
$self = $_SERVER['PHP_SELF']; 
$nav  = ''; 

for($page = 1; $page <= $maxPage; $page++) 
{ 
   if ($page == $pageNum) 
   { 
      $nav .= " $page "; 
   } 
   else 
   { 
      $nav .= " <a href=\"$self?page=$page\">$page</a> "; 
   } 
} 

if ($pageNum > 1) 
{ 
   $page  = $pageNum - 1; 
   $prev  = " <a href=\"$self?page=$page\">[Prev]</a> "; 

   $first = " <a href=\"$self?page=1\">[First Page]</a> "; 
} 
else 
{ 
   $prev  = '';  
   $first = '';  
} 

if ($pageNum < $maxPage) 
{ 
   $page = $pageNum + 1; 
   $next = " <a href=\"$self?page=$page\">[Next]</a> "; 

   $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> "; 
} 
else 
{ 
   $next = '';  
   $last = '';  
} 

// navigatie bar 
echo "<br />". $first . $prev . " Showing page $pageNum of $maxPage pages " . $next . $last; 

?>

de delete.php pagina: (hier kan je nog kiezen wat je met de user gaat doen)
PHP:
<?php 
echo "te verwijderen gebruiker:";
echo '$_POST["usertodelete"];
?>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan