Jump to content

edit multiple db records


kemper

Recommended Posts

I run a youth sports website and write their schedules.  I have a php script that I implimented that allows club field schedulers to add times into games at their fields.  Currently, it allows editting of each record (game) individually.  I would like to make it easier for those schedulers to enter times into all games in one simple form process.

 

I am wondering how to change it so that all records can be displayed and edited on one page, in one submission (like the attached image).

 

My current scheduling.php file is:

<?php
require_once "../maincore.php";
require_once "../subheader.php";
require_once "../side_left.php";
include LOCALE.LOCALESET."sched.php";

//if (!checkrights("FS")) fallback("../index.php");

if (isset($_POST['edit_sched'])) {
$time = stripinput($_POST['time']);
$time_text = stripinput($_POST['time_text']);
$game_time = stripinput($_POST['game_time']);
$home_field = stripinput($_POST['field']);
$field_no = stripinput($_POST['field_no']);
$result = dbquery("UPDATE scheduless SET sched_user='".$userdata['user_id']."', time_text='$time_text', game_time='$game_time', field='$field', field_no='$field_no' WHERE game_id='$game_id' ");
//$result = dbquery("UPDATE ".$db_prefix."faq_cats SET faq_cat_name='$faq_cat_name' WHERE faq_cat_id='$faq_cat_id'");
}
if ($step == "edit"){
//$data = dbarray(dbquery(
//		"SELECT ter.*, user_id,user_name FROM scheduless ter
//		LEFT JOIN ".$db_prefix."users tusr ON ter.sched_user=tusr.user_id
//		WHERE game_id='$game_id'"
//	));
$data = dbarray(dbquery("SELECT * FROM schedules WHERE game_id='$game_id'"));

	// note change here
	$display_time = date("g:i a", strtotime($data['time'])); 

opentable ($locale['sched001']);
echo "<form name='reportform' method='post' action='".FUSION_SELF."?game_id=$game_id'>
".$locale['sched120']."
<table align='center' cellspacing='5' cellpadding='5' class='tbl' width='375'>
<tr>
<td valign='top' width='124'>
<p style='margin-top: 0; margin-bottom: 0'><b>Division:</b></td>
<td valign='top' width='216'>
<p style='margin-top: 0; margin-bottom: 0'>".$data['s08div']."</p>
</td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Game ID:</b></td>
<td width='216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'>".$data['game_id']."</td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Date:</b></td>
<td width=216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'>".$data['game_date']=date("D, M j, Y",strtotime($data['game_date']))."</td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Time/Notes:</b></td>
<td width='216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'>
<span style='background-color: #FFFF00'>".$data['notes']."</span></td>
</tr>
".(checkrights("A") ? "<tr>
<td valign='top' width='124' bgcolor='#C0C0C0'>
<p style='margin-top: 0; margin-bottom: 0'><b>Official Time:</b></td>
<td valign='top' width='216' bgcolor='#C0C0C0'>
<p style='margin-top: 0; margin-bottom: 0'><input type='text' name='game_time' value='".$data['game_time']."' class='textbox' style='width:75px;'></td>
</tr>" : "")."
<tr>
<td valign='top' width='124'>
<p style='margin-top: 0; margin-bottom: 0'><b>Time</b></td>
<td valign='top' width='216'>
<p style='margin-top: 0; margin-bottom: 0'><input type='text' name='time_text' value='".$data['time_text']."' class='textbox' style='width:75px;'></td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Match-up:</b></td>
<td width='216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'>".$data['home_team']."</p>
<p style='margin-top: 0; margin-bottom: 0'><font color='#0000FF'>vs.</font> ".$data['visit_team']."</td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Field:</b></td>
<td width='216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><input type='text' name='field' value='".$data['field']."' class='textbox' style='width:150px;'></td>
</tr>
<tr>
<td width='124' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><b>Field # or Name:</b></td>
<td width='216' valign='top'>
<p style='margin-top: 0; margin-bottom: 0'><input type='text' name='field_no' value='".$data['field_no']."' class='textbox' style='width:100px;'></td>
</tr>
<tr>
<td align='center' colspan='2'>
<input type='submit' name='edit_sched' value='".$locale['sched135']."' class='button'></td>
</tr>
</table>
</form>\n";
closetable ();
}

opentable ($locale['sched001']);
$sql = dbquery(
"SELECT ter.*, user_id,user_name FROM schedules ter
LEFT JOIN ".$db_prefix."users tusr ON ter.sched_user=tusr.user_id
ORDER BY game_date ASC,game_time ASC"
);

	// note change here
	$display_time = date("g:i a", strtotime($data['time'])); 


if (dbrows($sql)) {
$i = 0;
echo "<table width='100%' cellpadding='0' cellspacing='1' class='tbl-border'>
<tr>
	<td colspan='9' bgcolor='#FFFF00'>
	<p style='margin-top: 0; margin-bottom: 0'><font size='2'>Below is a list of games 
	scheduled at your club/district's home fields.  To add Times and 
	Field Specifics, click "<font color='#FF0000'>Edit</font>" next to the corresponding 
	game.</td></tr>
<tr>
	<td><b><font size='1'>Division:</font></b></td>
	<td><b><font size='1'>Game ID:</font></b></td>
	<td><b><font size='1'>Date:</font></b></td>
	<td><b><font size='1'>Time/Notes:</font></b></td>
	<td><b><font size='1'>Time:</font></b></td>
	".(checkrights("A") ? "<td><b><font size='1'>Off. Time:</font></b></td>" : "")."
	<td><b><font size='1'>Teams:</font></b></td>
	<td><b><font size='1'>Field:</font></b></td>
	<td><b><font size='1'>Options:</font></b></td>
</tr>\n";
while ($data = dbarray($sql)) {
	$i % 2 == 0 ? $tclass="tbl1" : $tclass="tbl2";
    if ($data['game_date'] != $prev) {                                // if division changed
        echo "<tr><td colspan='3'> </td></tr>\n";             // blank row
        $prev = $data['game_date'];
    }
	echo "<tr>
	<td class='$tclass'><font size='1'>".$data['s08div']."</font></td>
	<td class='$tclass'><font size='1'>".$data['game_id']."</font></td>
	<td class='$tclass'><font size='1'>".$data['game_date']=date("D, M j, Y",strtotime($data['game_date']))."</font></td>
	<td class='$tclass'><font size='1'><span style='background-color: #FFFF00'>".$data['notes']."</span></font></td>
	<td class='$tclass'><font color='#0000FF' size='1'>".$data['time_text']."</font></td>
	".(checkrights("A") ? "<td class='$tclass'><font color='#0000FF' size='1'>".$data['game_time']."</font></td>" : "")."
	<td class='$tclass'>
	<p style='margin-top: 0; margin-bottom: 0'><font size='1'>".$data['home_team']." 
vs.</font></p>
	<p style='margin-top: 0; margin-bottom: 0'><font size='1'>".$data['visit_team']."</font></font></td>
	<td class='$tclass'><font color='#0000FF' size='1'>".$data['field']." ".$data['field_no']."</font></td>
	<td class='$tclass'><center><a href='".FUSION_SELF."?step=edit&game_id=".$data['game_id']."'>
	<font size='1'>".$locale['sched002']."</font></a></center></td>
</tr>\n";
}
echo "</table>\n";
} else {
echo "<center><br>\n".$locale['sched141']."<br><br>\n</center>\n";
}
closetable();

echo "</td>\n";
require_once BASEDIR."footer.php";
?>

 

Any suggestions?

Link to comment
Share on other sites

The current script works fine, but I would like to make it more user friendly and less tedious.

 

I am stuck at the <form>, changing from single entry to multiple entries.  I want it to list all records with <inputs> for time field all in one table.  The Submit would update all records.

Link to comment
Share on other sites

I thought I might by in the right direction with:

<form name='reportform' method='post' action='".FUSION_SELF.">
<table width='100%' cellpadding='0' cellspacing='1' class='tbl-border'>
<tr>
	<td colspan='8' bgcolor='#FFFF00'>
	<p style='margin-top: 0; margin-bottom: 0'><font size='2'>Below is a list of games 
	scheduled at your club/district's home fields.  To add Times and 
	Field Specifics, click "<font color='#FF0000'>Edit</font>" next to the corresponding 
	game.
	</td></tr>
<tr>
	<td><b><font size='1'>Division:</font></b></td>
	<td><b><font size='1'>Game ID:</font></b></td>
	<td><b><font size='1'>Date:</font></b></td>
	<td><b><font size='1'>Time/Notes:</font></b></td>
	<td><b><font size='1'>Time:</font></b></td>
	".(checkrights("A") ? "<td><b><font size='1'>Off. Time:</font></b></td>" : "")."
	<td><b><font size='1'>Teams:</font></b></td>
	<td><b><font size='1'>Field:</font></b></td>
</tr>\n";
while ($data = dbarray($sql)) {
	$i % 2 == 0 ? $tclass="tbl1" : $tclass="tbl2";
    if ($data['game_date'] != $prev) {                                // if division changed
        echo "<tr><td colspan='3'> </td></tr>\n";             // blank row
        $prev = $data['game_date'];
    }
	echo "<tr>
	<td class='$tclass'><font size='1'>".$data['s08div']."</font></td>
	<td class='$tclass'><font size='1'>".$data['game_id']."</font></td>
	<td class='$tclass'><font size='1'>".$data['game_date']=date("D, M j, Y",strtotime($data['game_date']))."</font></td>
	<td class='$tclass'><font size='1'><span style='background-color: #FFFF00'>".$data['notes']."</span></font></td>
	<td class='$tclass'><font color='#0000FF' size='1'><input type='text' name='time_text' value='".$data['time_text']."' class='textbox' style='width:75px;'></font></td>
	".(checkrights("A") ? "<td class='$tclass'><font color='#0000FF' size='1'><input type='text' name='game_time' value='".$data['game_time']."' class='textbox' style='width:75px;'></font></td>" : "")."
	<td class='$tclass'>
	<p style='margin-top: 0; margin-bottom: 0'><font size='1'>".$data['home_team']." 
vs.</font></p>
	<p style='margin-top: 0; margin-bottom: 0'><font size='1'>".$data['visit_team']."</font></font></td>
	<td class='$tclass'><font color='#0000FF' size='1'><input type='text' name='field' value='".$data['field']."' class='textbox' style='width:150px;'> <input type='text' name='field_no' value='".$data['field_no']."' class='textbox' style='width:100px;'></font></td>
</tr>\n";
}
echo "<tr>
<td align='center' colspan='8'>
<input type='submit' name='edit_sched' value='".$locale['sched135']."' class='button'></td>
</tr>
</table>
</form>

 

But, I did not even get the records to display.

 

Assistance is greatly appreciated.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.