Hoe moet ik die if schrijven. Help me AUB!
Moet in het selectstatement een WHERE opgenomen worden?
Link gekopieerd
- Ariën -
15-05-2022 17:35
gewijzigd op 15-05-2022 17:41
<?php
// Voer hier query uit
$result = mysqli_query(.........);
if( $result === false) {
// De query is niet gelukt, toon error
} else {
// De query is gelukt. Voer vanaf hier de rest uit!
}
?>
Zoiets!
Maar ik vraag mij af of je de basis van PHP wel genoeg begrijpt. Misschien is dit wat je wilt best wel een hogere lat?
- Snap je hoe if-elseif-else werkt?
- Snap je de werking van functies?
Link gekopieerd
Ja Arien is allemaal ook erg hoog, maar sinds ik ziek geworden ben (en afgekeurd, zittend in een rolstoel met PPMS) ben ik maar op internet gaan zoeken naar een besteding van mijn tijd. IK kwam uit op het digitaliseren van mijn studieboeken. Vandaar mijn vragen en gezeur!
[size=xsmall]
Toevoeging op 15/05/2022 17:54:19: [/size]
Het geinige is dat ik op treinenweb had gekeken naar een foto van een tunnel. Het eerste waar ik naar keek of er een lift was. Had ik vroeger nooit gedaan! Maar off the record
[size=xsmall]
Toevoeging op 15/05/2022 17:56:25: [/size]
Hoe if/else snap ik. Maar de andere functies zijn voor mij namen hoe ze precies werken, helaas nee dat weet ik niet. Daar is een site voor waar dat op eenvoudige wijze wordt uitgelegd?
[size=xsmall]
Toevoeging op 15/05/2022 18:03:18: [/size]
<?php
require_once('config.php');
$query = "SELECT * FROM pagination";
$result = mysqli_query($con, $query);
echo $result;
// Voer hier query uit
$result = mysqli_query($con, $query);
if( $result === false)
{
echo 'Het is niet gelukt';
}
else
{
echo'Het is gelukt';
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pagination in PHP with Next and Previous</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected] /dist/css/bootstrap.min.css" rel="stylesheet">
<body>
<table class="table table-striped">
<tr>
<td>User ID</td>
<td>User Name</td>
<td>User Email</td>
</tr>
<tr>
<?php
while($row = mysqli_fetch_assoc($result))
{
print_r($row);
?>
<td> <?php echo $row['ID'] ?> </td>
<td> <?php echo $row['Username'] ?> </td>
<td> <?php echo $row['Email'] ?> </td>
</tr>
<?php
}
?>
</body>
</html>
Resultaat:
Het is niet gelukt
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\USB WebServer\root\Youtube11\index.php on line 42
De query lukt niet!
Link gekopieerd
Dit moet lukken.
Wel even regels 3, 10, 13, 51, 52, 53 aanpassen
<?php
$con = mysqli_connect('localhost', 'demo', 'demodemo');
if ( !$con )
{
die('Could not connect: ' . mysql_error());
}
mysqli_select_db($con, "demodemo");
echo '<pre>' . print_r( $con, true ) . '</pre>';
$query = "SELECT * FROM users";
$result = mysqli_query($con, $query);
echo '<pre>' . print_r( $result, true ) . '</pre>';
// Voer hier query uit
if( $result === false)
{
echo 'Het is niet gelukt';
} else {
echo'Het is gelukt';
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pagination in PHP with Next and Previous</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected] /dist/css/bootstrap.min.css" rel="stylesheet">
<body>
<table class="table table-striped">
<tr>
<td>User ID</td>
<td>User Name</td>
<td>User Email</td>
</tr>
<tr>
<?php
while($row = mysqli_fetch_assoc($result))
{
echo '<pre>' . print_r( $row, true ) . '</pre>';
?>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['name'] ?> </td>
<td><?php echo $row['password'] ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
Link gekopieerd
- Ariën -
15-05-2022 18:46
gewijzigd op 15-05-2022 19:05
@Ed:
Aan lijn 5 heb je niks omdat je al op lijn 10 de query uitvoert.
Maar let ook op de vervolgstappen.
Als de query gelukt is, dan voer je de rest bij voorkeur in die statement uit.
@Adoptive: Lijn 7 is fout. Je wilt de error van je connectie zien.
@all: Ik ga van de week een bijgewerkte versie van deze boilerplate online zetten. Mét SQL-file.
Link gekopieerd
Maak dan van "proceduraal" meteen even procedureel. Want zo is er geen touw aan vast te knopen...
Link gekopieerd
- Ariën -
15-05-2022 21:17
gewijzigd op 15-05-2022 21:17
Ik maak het meteen of iets later Engelstalig, dus 'procedural' en 'Object-oriented' worden de termen.
Link gekopieerd
Hallo,
De code heb ik aangepast en het werkt. Echter ik wil maar 5 regels zien ik krijg de hele tabel te zien terwijl ik wel heb aangegeven dat ik maar 5 regels wil zien!
De code tot zover
<?php
require_once('config.php');
if(isset($_GET['page']))
{
$page= $_GET['page'];
}
else
{
$page = 1;
}
$num_per_page = 05;
$start_from = ($page-1)*05;
$query = "SELECT * FROM pagination LIMIT $start_from, $num_per_page";
$result = mysqli_query($con, $query);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pagination in PHP with Next and Previous</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected] /dist/css/bootstrap.min.css" rel="stylesheet">
<body>
<table class="table table-striped">
<tr>
<td>User ID</td>
<td>User name</td>
<td>Email</td>
</tr>
<tr>
<?php
while($row = mysqli_fetch_assoc($result))
{
//echo '<pre>' . print_r( $row, true ) . '</pre>';
?>
<td><?php echo $row['ID'] ?></td>
<td><?php echo $row['Username'] ?></td>
<td><?php echo $row['Email'] ?></td>
</tr>
<?php
}
?>
</table>
<?php
$pr_query = "SELECT * FROM pagination";
$pr_result = mysqli_query($con, $pr_query);
$total_record = mysqli_num_rows($pr_result);
$total_page = ceil($total_record / $num_per_page);
if($page>1)
{
echo "<a href = 'index4.php?page=".($page-1)."' class= 'btn btn-danger'>Previous</a>";
}
for($i=1;$i<$total_page;$i++)
{
echo "<a href = 'index4.php?page=".$i."' class= 'btn btn-primary'>$i</a>";
}
if($i>$page)
{
echo "<a href = 'index4.php?page=".($page+1)."' class= 'btn btn-danger'>Next</a>";
}
?>
</body>
</html>
Wie kan me helpen?
Link gekopieerd
Echo eens $query. Dan weet je wat er uitgevoerd wordt. Vooral ideaal bij dynamische queries met variabelen.
Link gekopieerd
Hoi;
Dit komt er uit:
SELECT * FROM pagination LIMIT 0, 5
[size=xsmall]Toevoeging op 17/05/2022 16:36:58: [/size]
DE eerste keer krijg ik 5 recirds te zien aks ik dan op next duw krijg ik er weer 12.
Link gekopieerd