What's new

Help Database Archive

Cheeeeeeew

Forum Guru
Joined
Mar 28, 2022
Posts
955
Solutions
7
Reaction
5,792
Points
1,207
Magandang araw mga paps. Patulong sana. Ano po ba dapat ibang approach sa pag archive. Yung mag delete ako specific data then ma insert ito sa archive table. Ito kasing code ko ma archive siya kaso ma delete all po siya, sana may maka tulong po. Salamat.







<?php


require_once 'db_connect.php';

$query = mysqli_query($conn, "SELECT * FROM atty_info");
while ($fetch = mysqli_fetch_array($query)) {
// Archive the record
mysqli_query($conn, "INSERT INTO archive VALUES('', '$fetch[atty_id]', '$fetch[name]', '$fetch[gender]', '$fetch[mobile]')") or die(mysqli_error($conn));

// Delete the record from the 'product' table
mysqli_query($conn, "DELETE FROM atty_info WHERE atty_id = '$fetch[atty_id]'") or die(mysqli_error($conn));

if($fetch)
{
echo '<script> alert("Data Deleted"); </script>';
header("Location:home_page_atty.php");
}
else
{
echo '<script> alert("Data Not Deleted"); </script>';
}
}
?>
 
Magandang araw! Sa iyong code, mukhang tama na ang iyong approach sa pag-aarchive ng data. Subalit, may ilang bagay na maaari mong baguhin para mas maging epektibo at maiwasan ang pag-delete ng lahat ng data sa iyong 'atty_info' table.

Narito ang ilang mga suhestiyon:

1. Paglilipat ng Validation: Ang validation ng result ng query ay dapat ilipat sa labas ng loop. Sa kasalukuyan, ikaw ay naglalagay ng if($fetch) sa loob ng loop, ngunit hindi ito nagbibigay ng tamang validation.

2. Paglilipat ng Redirect: Ang header("Location: home_page_atty.php"); ay dapat ilipat sa labas ng loop upang maiwasan ang mga error sa paglipat ng pahina bawat loop iteration.

3. Paggamit ng Prepared Statements: Upang mapanatili ang seguridad ng iyong query at maiwasan ang SQL injection, maaari mong baguhin ang iyong query at gamitin ang prepared statements.

Narito ang ilang maaaring maging bagong bersyon ng iyong code:

PHP:
require_once 'db_connect.php';

$query = mysqli_query($conn, "SELECT * FROM atty_info");
while ($fetch = mysqli_fetch_array($query)) {
    // Archive the record using prepared statements
    $archive_query = mysqli_prepare($conn, "INSERT INTO archive (atty_id, name, gender, mobile) VALUES (?, ?, ?, ?)");
    mysqli_stmt_bind_param($archive_query, "isss", $fetch['atty_id'], $fetch['name'], $fetch['gender'], $fetch['mobile']);
    mysqli_stmt_execute($archive_query);

    // Delete the record from the 'atty_info' table
    $delete_query = mysqli_prepare($conn, "DELETE FROM atty_info WHERE atty_id = ?");
    mysqli_stmt_bind_param($delete_query, "i", $fetch['atty_id']);
    mysqli_stmt_execute($delete_query);
}

// Redirect after processing all records
header("Location: home_page_atty.php");

Sa pamamagitan ng mga nabanggit na pagbabago, mas maayos at mas epektibo ang iyong code sa pag-aarchive ng data nang hindi nade-delete ang lahat ng data sa iyong 'atty_info' table. Mangyaring subukan ang mga suhestiyon na ito at huwag mag-atubiling magtanong kung mayroon ka pang ibang katanungan. Salamat!
 
Magandang araw! Sa iyong code, mukhang tama na ang iyong approach sa pag-aarchive ng data. Subalit, may ilang bagay na maaari mong baguhin para mas maging epektibo at maiwasan ang pag-delete ng lahat ng data sa iyong 'atty_info' table.

Narito ang ilang mga suhestiyon:

1. Paglilipat ng Validation: Ang validation ng result ng query ay dapat ilipat sa labas ng loop. Sa kasalukuyan, ikaw ay naglalagay ng if($fetch) sa loob ng loop, ngunit hindi ito nagbibigay ng tamang validation.

2. Paglilipat ng Redirect: Ang header("Location: home_page_atty.php"); ay dapat ilipat sa labas ng loop upang maiwasan ang mga error sa paglipat ng pahina bawat loop iteration.

3. Paggamit ng Prepared Statements: Upang mapanatili ang seguridad ng iyong query at maiwasan ang SQL injection, maaari mong baguhin ang iyong query at gamitin ang prepared statements.

Narito ang ilang maaaring maging bagong bersyon ng iyong code:

PHP:
require_once 'db_connect.php';

$query = mysqli_query($conn, "SELECT * FROM atty_info");
while ($fetch = mysqli_fetch_array($query)) {
    // Archive the record using prepared statements
    $archive_query = mysqli_prepare($conn, "INSERT INTO archive (atty_id, name, gender, mobile) VALUES (?, ?, ?, ?)");
    mysqli_stmt_bind_param($archive_query, "isss", $fetch['atty_id'], $fetch['name'], $fetch['gender'], $fetch['mobile']);
    mysqli_stmt_execute($archive_query);

    // Delete the record from the 'atty_info' table
    $delete_query = mysqli_prepare($conn, "DELETE FROM atty_info WHERE atty_id = ?");
    mysqli_stmt_bind_param($delete_query, "i", $fetch['atty_id']);
    mysqli_stmt_execute($delete_query);
}

// Redirect after processing all records
header("Location: home_page_atty.php");

Sa pamamagitan ng mga nabanggit na pagbabago, mas maayos at mas epektibo ang iyong code sa pag-aarchive ng data nang hindi nade-delete ang lahat ng data sa iyong 'atty_info' table. Mangyaring subukan ang mga suhestiyon na ito at huwag mag-atubiling magtanong kung mayroon ka pang ibang katanungan. Salamat!
not working paring
 
not working paring
Kung ang iyong code ay hindi gumagana pa rin, maaari nating suriin ang ilang posibleng sanhi ng isyu:

1. Error Reporting: Siguraduhing ang error reporting ay naka-enable sa iyong environment para ma-detect ang mga posibleng errors sa iyong code. Maaari mong ilagay ang sumusunod sa simula ng iyong script para maipakita ang errors:

Code:
php
   error_reporting(E_ALL);
   ini_set('display_errors', 1);

2. Debugging: Subukan mong i-debug ang iyong code sa pamamagitan ng paglalagay ng mga echo o var_dump statements upang ma-monitor ang values ng variables sa bawat iteration ng loop.

3. Database Connection: Siguraduhing tama ang connection details sa iyong db_connect.php file at ang database ay tama ang schema para sa 'atty_info' at 'archive' tables.

4. Data Existence: Siguruhing may data ang 'atty_info' table bago mo i-run ang script para may ma-archive at ma-delete.

5. Error Handling: Sa bawat query execution, siguraduhing i-handle ang mga errors sa pagtawag ng mysqli_error($conn) upang malaman ang posibleng sanhi ng problemang naranasan sa database operations.

Subukan mo ang mga nabanggit na suhestiyon at i-check ang mga possible errors na maaaring magdulot ng hindi pag-andar ng iyong code. Kung mayroon ka pang ibang mga detalye o error messages na nais mong ibahagi, huwag kang mag-atubiling mag-post dito para mas makatulong ako sa iyo. Salamat!
 
Kung ang iyong code ay hindi gumagana pa rin, maaari nating suriin ang ilang posibleng sanhi ng isyu:

1. Error Reporting: Siguraduhing ang error reporting ay naka-enable sa iyong environment para ma-detect ang mga posibleng errors sa iyong code. Maaari mong ilagay ang sumusunod sa simula ng iyong script para maipakita ang errors:

Code:
php
   error_reporting(E_ALL);
   ini_set('display_errors', 1);

2. Debugging: Subukan mong i-debug ang iyong code sa pamamagitan ng paglalagay ng mga echo o var_dump statements upang ma-monitor ang values ng variables sa bawat iteration ng loop.

3. Database Connection: Siguraduhing tama ang connection details sa iyong db_connect.php file at ang database ay tama ang schema para sa 'atty_info' at 'archive' tables.

4. Data Existence: Siguruhing may data ang 'atty_info' table bago mo i-run ang script para may ma-archive at ma-delete.

5. Error Handling: Sa bawat query execution, siguraduhing i-handle ang mga errors sa pagtawag ng mysqli_error($conn) upang malaman ang posibleng sanhi ng problemang naranasan sa database operations.

Subukan mo ang mga nabanggit na suhestiyon at i-check ang mga possible errors na maaaring magdulot ng hindi pag-andar ng iyong code. Kung mayroon ka pang ibang mga detalye o error messages na nais mong ibahagi, huwag kang mag-atubiling mag-post dito para mas makatulong ako sa iyo. Salamat!
no error. same lang ang output sa code ko
 
no error. same lang ang output sa code ko
Kung wala namang error na lumalabas at ang output ng iyong code ay pareho pa rin, maaaring tignan natin ang iba't ibang posibleng isyu na maaaring nakaapekto sa pag-andar ng iyong code:

1. Database Transactions: Siguraduhing naayon ang pagsunod ng iyong database transactions. Posibleng mayroong ibang proseso o transactions na nagiging hadlang sa tamang pag-aarchive at pag-delete ng data.

2. Primay Key Constraints: Tiyakin na ang 'atty_id' sa 'atty_info' at 'archive' table ay hindi nagkakaroon ng conflict sa primary key constraints. Posible ring may duplicate values o ibang constraints na nagiging hadlang.

3. Data Integrity: Siguraduhing ang data na ina-archive at dine-delete ay tama at eksaktong eksistente sa 'atty_info' table. Posibleng mayroong mga data na hindi nagtatagpo o may mga hidden characters na nagiging hadlang.

4. Trigger or Other Database Events: Tignan kung mayroong triggers o iba pang events sa database schema na maaaring makaapekto sa pag-andar ng iyong code.

5. Code Logic: Maaring suriin muli ang iyong code logic at tiyakin na ang flow ng iyong script ay tama. Maaari mong subukan i-breakdown ang iyong code sa mas maliit na bahagi at subukan ang bawat bahagi para makita kung saan specifically nagkakaroon ng isyu.

Kung sa palagay mo ay maayos na lahat ng ito at hindi pa rin gumagana, maaaring mag-explore ng iba't ibang paraan o approach sa pag-aarchive ng data. Maaring subukan ang ibang techniques tulad ng paggamit ng temporary tables o iba pang database operations para ma-achieve ang desired functionality.

Kung mayroon kang iba pang detalye o katanungan, huwag kang mag-atubiling magbahagi para mas makatulong ako sa iyo. Salamat!
 

Similar threads

Back
Top