PHP BLOG: somo la 12 kutumia prepared statement kwenye ku select data kutoka kwenye database


picha


Katika somo hili tutakwenda kutumia prepared ststement kwenye ku fetch data kutoka kwenye database.


Somo hili ni muendelezo wa masomo mawili yaliotangulia nyuma. Hvyo basi hapa nitakwenda kukuletea orodha ya mabadliko ya mafaili yote yaliobadilishwa baada ya kutumia prepared statement.

Pia tutakwenda kutatuwa tatizo la kufuta pica. Hapa tutakwenda kutatua liletatizo unapo edit icha le ya zamani inabakia. 

Ili kuelewa vyema somo hili tafadhali rejea mazomo mawili yaliotangulia kwa njia ya video. Tembelea channel yetu ya youtube inayopatikana kwa link hii youtube.com/@tehama-tz

 

dashboard.php

<html>
<head>
<title>Dshboard</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
table, th, td {
border:1px solid black;
}
.dol{
margin: 0 auto;
max-width: 70%;
}
</style>
</head>
<body>
<h1><a href="post.php">Ongeza post</a> </h1>
<table>
<tbody>
<th>id</th>
<th>Image</th>
<th>Title</th>
<th>Publshed</th>
<th>Updated</th>
<th>Publsher</th>
<th>Soma</th>
<th>edit</th>
<th>Delete</th>
<?php
include "config.php";
$sql= $conn->prepare("SELECT * FROM posts");
$sql->execute();
$result = $sql->get_result();
while ($post = $result->fetch_assoc()){?>
<tr>
<td><?php echo $post['id']?></td>
<td><img src="upload/<?php echo $post['image']?>" height="5%" width="5%"></td>
<td><?php echo $post['title']?></td>
<td><?php echo $post['post_time']?></td>
<td><?php echo $post['updated_time']?></td>
<td><?php echo $post['publisher']?></td>
<td><a href="view.php?id=<?php echo $post['id']?>">Soma</a> </td>
<td><a href="edit.php?id=<?php echo $post['id']?>">edit</a> </td>
<td><a href="delete.php?id=<?php echo $post['id']?>">Futa</a> </td>
</tr>
<?php }?>
</tbody>
</table>
</body>
</html>

 

 

delete.php

 

$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);

include "config.php";

$sql= $conn->prepare("SELECT image FROM posts where id =?");

$sql->bind_param("i", $id);

$sql->execute();

$result = $sql->get_result();

while ($post = $result->fetch_assoc()){

$image = $post['image'];

unlink("upload/".$image);

$sql= $conn->prepare("DELETE FROM posts where id =?");

$sql->bind_param("i", $id);

$sql->execute();

header("location:dashboard.php");



}

 

 

 

 

 

 

post.php

<html>
<head>
<title>create your post</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://cdn.ckeditor.com/4.16.2/standard/ckeditor.js"></script>
<script src="ckeditor.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<label for="title">Title</label><br>
<input type="text" name="title" placeholder="write your post title" id="title"><br>

<label for="summary">Summary</label><br>
<input type="text" name="summary" placeholder="write your post summary" id="summary"><br>

<label for="content">content</label><br>
<textarea name="content" id="content" placeholder="wrte your post content"></textarea>
<script>CKEDITOR.replace( 'content' );
</script>
<label for="publisher">publisher</label><br>
<input type="text" name="publisher" placeholder="write your post publisher" id="publisher"><br>

<label for="date">Date</label><br>
<input type="date" name="date" placeholder="write your post date" id="date"><br><br>

<label for="image">upload your image</label>
<input type="file" name="file" accept="image/*" id="image"><br><br>

<input type="submit" name="submit" value="submit">
</form>
<br><br>
</body>
</html>
<?php
include "config.php";
if (isset($_POST['submit'])) {
//start code
// form variables
$title = filter_var($_POST['title'], FILTER_SANITIZE_STRING);
$summary = filter_var($_POST['summary'], FILTER_SANITIZE_STRING);
$content = $_POST['content'];
$publisher = filter_var($_POST['publisher'], FILTER_SANITIZE_STRING);
$date = filter_var($_POST['date'], FILTER_SANITIZE_STRING);
$image = filter_var($_FILES['file']['name'], FILTER_SANITIZE_STRING);
$folder = "upload/";
$location = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size']; //1024 = 1kb, 1024 kb = 1mb, 1024 = 1 gb 5*1024*1024 = 5242880
$format = ["webp", "jpg", "jpeg", "png"];
$extension = pathinfo($image, PATHINFO_EXTENSION);
if (!in_array($extension, $format)){
echo "we dont allow such file format";
}else {
if ($size > 5242880) {
echo "your file is too large";
} else {
//$sql = "INSERT INTO posts(title, summary, content, publisher, post_time, image) VALUES ('$title', '$summary', '$content', '$publisher', '$date', '$image' )";
$sql = $conn->prepare("INSERT INTO posts(title, summary, content, publisher, post_time, image) VALUES (?,?,?,?,?,? )");
$sql->bind_param("ssssss",$title, $summary, $content, $publisher, $date, $image );
if ($sql->execute()) {
move_uploaded_file($location, $folder . $image);
header("location:dashboard.php");
} else {
echo "try again";
}
}
}
}else{
echo "we dont accept empty form";
}

 

post_script.php

 

include "config.php";

if (isset($_POST['submit'])) {

//start code

// form variables

$id = filter_var($_POST['id'], FILTER_SANITIZE_NUMBER_INT);

$title = filter_var($_POST['title'], FILTER_SANITIZE_STRING);

$summary = filter_var($_POST['summary'], FILTER_SANITIZE_STRING);

$content = $_POST['content'];

$publisher = filter_var($_POST['publisher'], FILTER_SANITIZE_STRING);

$date = filter_var($_POST['date'], FILTER_SANITIZE_STRING);

$image = filter_var($_FILES['file']['name'], FILTER_SANITIZE_STRING);

$folder = "upload/";

$old_image = filter_var($_POST['old_image'], FILTER_SANITIZE_STRING);

$location = $_FILES['file']['tmp_name'];

$size = $_FILES['file']['size']; //1024 = 1kb, 1024 kb = 1mb, 1024 = 1 gb 5*1024*1024 = 5242880

$format = ["webp", "jpg", "jpeg", "png"];

$extension = pathinfo($image, PATHINFO_EXTENSION);

if (!in_array($extension, $format)){

echo "we dont allow such file format";

}else {

if ($size > 5242880) {

echo "your file is too large";

} else {

//$sql ="UPDATE posts set title = '$title', summary = '$summary', content = '$content', publisher = '$publisher', post_time = '$date', updated_time = '$update' where id = $id";

$sql = $conn->prepare("UPDATE posts set title = ?, summary = ?, content = ?, publisher =?, post_time =?, updated_time= ? where id = ?");

$sql->bind_param("ssssssi", $title, $summary, $content,$publisher,$date, $update, $id );

if ($sql->execute()) {

if ($image ==""){echo "no image";}else{

//$sql2 = "UPDATE posts set image = '$image' where id = $id";

$sql = $conn->prepare("UPDATE posts set image =? where id=?");

$sql->bind_param("si", $image,$id);

if ($sql->execute()){

if (unlink("upload/".$old_image)){

move_uploaded_file($location, $folder . $image);

}else{

echo "sorry we couldn't delete old image";

}



}

}

header("location:dashboard.php");

} else {

echo "try again";

}

}

}

}else{

echo "we dont accept empty form";

}

 

 

 

 

 

view.php

 

<?php
$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
include "config.php";
$sql= $conn->prepare("SELECT * FROM posts where id =?");
$sql->bind_param("i", $id);
$sql->execute();
$result = $sql->get_result();
while ($post = $result->fetch_assoc()){
?>
<html lang="swa">
<head>
<title><?php echo $post['title']?></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
p{
margin: 0 auto;
text-align: left;
max-width: 70%;
font-size: 100%;
}
h1{
font-size: 100%;
text-align: center;
max-width: 98%;
}
a {text-decoration:none;}
@media screen and (max-width: 600px) {
img { width: 100%; }
}
</style>
</head>
<body>
<h1><?php echo $post['title']?></h1>
<p><img src="upload/<?php echo $post['image']?>"></p>
<p><?php echo $post['summary']?></p>
<p><?php echo $post['content']?></p>
<p>IImeandika na <?php echo $post['publisher']?> Tarehehe <?php echo $post['post_time']?> </p>
<?php }?>
</body>
</html>

 

Mwisho

Katika somo linalofuata utajifunza jisni ya kuweka friendly url kw akutumia htaccess file 




Je! una maswali, mapendekezo ama maoni? tuma ujumbe wa meseji SMS hapo chini ili kuunganishwa na muhusika au bofya hapa

SMS SMS


Post Nyingine


PHP BLOG: SOMO LA 1 UT...


PHP BLOG: SOMO LA 2: J...


PHP BLOG: SOMO LA 3: J...


PHP BLOG: SOMO LA 4 KU...


PHP BLOG: SOMO LA 5 KU...


PHP BLOG SOMO LA 6 UKU...


PHO BLOG SOMO LA 7 JIN...


PHP BLOG SOMO LA 8 JIN...


PHP BLOG: SOMO LA 9 JI...


PHP BLOG: SOMO LA 10 K...


PHP BLOG: SOMO LA 11 K...


PHP BLOG: SOMO LA 12 K...