Jump to content

Add field to displaying mysql row


Peuplarchie

Recommended Posts

Good day to you all,

            I'm still learning the wicked database world and i found a piece of code which read and display a db table without me telling each colum totle and field name.

 

Here is my code:

 


...
if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");

// sending query
$result = mysql_query("SELECT * FROM {$table}");
if (!$result) {
    die("Query to show fields from table failed");
}

$fields_num = mysql_num_fields($result);

echo "<h1>Table: {$table}</h1>";
echo "<table border='0' id=\"table\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr>";
echo "<td id=\"title\">options</td>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    
    $field = mysql_fetch_field($result);
    echo "<td id=\"title\">{$field->name}</td>";
}
echo "</tr>\n";
// printing table rows
$s = 0;
while(($row = mysql_fetch_row($result)) !== false){
$s++;

    echo "<tr>";
    echo "<td id=\"fields".($s & 1)."\"><a href=\"delete_table_row_db.php?id=" . $s[id]. "\" title=\"DELETE : Row ID #:" . $s[id] . "\"><img src=\"Template/Images/delete.png\" border=\"0\"/></a><INPUT TYPE=\"checkbox\" name=\"" . $row['id'] . "\"></td>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
    
        echo "<td id=\"fields".($s & 1)."\">$cell</td>";

    echo "</tr>\n";
}
mysql_free_result($result);

 

In the part :

 


<td id=\"fields".($s & 1)."\"><a href=\"delete_table_row_db.php?id=" . $s[id]. "\" title=\"DELETE : Row ID #:" . $s[id] . "\"><img src=\"Template/Images/delete.png\" border=\"0\"/></a><INPUT TYPE=\"checkbox\" name=\"" . $row['id'] . "\"></td>";

 

What i'm trying to do is to add options to the row, ex: delete, edit...

 

My only problem is that I cannot find the var to put which would tell which row it is.

 

Can somebody help me ?

Thanks!

Link to comment
https://forums.phpfreaks.com/topic/200229-add-field-to-displaying-mysql-row/
Share on other sites

Use the row id to tell which row to delete, you can even delete multiple rows at a single time, using the OR condition clause in the mysql statement:

$s[id]

should be

$row['id']

 

 

For the checkboxes, use an array:

<input type="checkbox" name="checkrowdel[<?php echo($row['id']); ?>]" /> Delete?

 

Then on the processing php script you can loop the checkrowdel array and add the id to the where clause in the mysql query for each checkbox that was checked (using the "array_key" of each array item that was checked), to get the array keys of an array use array_keys();

 

-cb-

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.