PyraX Posted October 11, 2007 Share Posted October 11, 2007 Hi, Im trying to make some scaffolding with mysql and I need to know how to tell if a mysql field is a date/datetime/text/varchar etc. <?php ?> <link href="cms.css" rel="stylesheet" type="text/css" /> <?php class Scaffold { var $table = ""; function Scaffold($table){ $this->table = $table; $connection = mysql_connect("localhost", "ir", "ir"); mysql_select_db("test", $connection); switch($_GET["action"]){ default: $this->listtable(); break; case "list": $this->listtable(); break; case "new": $this->newrow(); break; case "postnew": $this->postnew(); break; case "edit": $this->editrow(); break; case "postedit": $this->postedit(); break; case "delete": $this->deleterow(); break; } } function listtable(){ $select = mysql_query("SELECT * FROM ".$this->table); $i = 0; echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"cmstable\">"; echo "<tr>"; while($i < mysql_num_fields($select)){ $column = mysql_fetch_field($select, $i); $column->name = str_replace("_"," ",$column->name); if($column->name != "id"){ echo "<td><b>".$column->name."</b></td>"; } $i++; } echo "</tr>"; while($array = mysql_fetch_array($select)){ echo "<tr>"; foreach($array as $column => $value){ if(!is_int($column) && $column != "id"){ echo "<td>$value</td>"; } } ?> <td><a href="?action=edit&id=<?=$array[0]?>">Edit</a> <a href="?action=delete&id=<?=$array[0]?>">Delete</a></td> <? echo "</tr>"; } echo "</table>"; echo "<a href='?action=new'>New Row</a>"; } function newrow(){ include("fckeditor/fckeditor.php"); $select = mysql_query("SELECT * FROM ".$this->table); $i = 0; echo "<form action='?action=postnew' method='POST'><table>"; while($i < mysql_num_fields($select)){ $column = mysql_fetch_field($select); $column->name = str_replace("_"," ",$column->name); if($column->name != "id"){ print_r($column); if($column->blob == 1){ echo "<tr><td><b>$column->name:</b></td><td> <textarea name='$column->name'></textarea></td></tr>"; /* echo "<tr><td><b>$column->name:</b></td><td>"; $oFCKeditor = new FCKeditor('$column->name'); $oFCKeditor->BasePath = 'http://localhost:81/scaf2/fckeditor/'; $oFCKeditor->Value = 'Default text in editor'; $oFCKeditor->ToolbarSet = 'Basic'; $oFCKeditor->Create(); echo "</td></tr>"; */ } else if($column->date == 1){ echo "<tr><td>$column->name:</td><td> <input type='text' name='$column->name' /></td></tr>"; }else{ echo "<tr><td><b>$column->name:</b></td><td> <input type='text' name='$column->name' /></td></tr>"; } } $i++; } echo "<tr><td colspan=2><input type='submit' value='Add Row' /></td></tr>"; echo "</table></form>"; } function postnew(){ $select = mysql_query("SELECT * FROM ".$this->table); $insert = "INSERT INTO ".$this->table." VALUES('', "; $i = mysql_num_fields($select); $i--; foreach($_POST as $key => $value){ $i--; if($i > 0){ $insert .= "'".$value."', "; } else { $insert .= "'".$value."')"; } } mysql_query($insert) or die(mysql_error()); echo "Added row.<br />"; echo "<a href='?action=list'>Back To Listing</a>"; } function editrow(){ $fields = mysql_query("SELECT * FROM ".$this->table) or die(mysql_error()); $select = mysql_query("SELECT * FROM ".$this->table." WHERE id = ".$_GET["id"]) or die(mysql_error()); $row = mysql_fetch_row($select); $i = 0; echo "<form action='?action=postedit&id=".$_GET["id"]."' method='POST'><table>"; while($i < mysql_num_fields($fields)){ $field = mysql_fetch_field($fields); $field->name = str_replace("_"," ",$field->name); if($field->name != "id"){ if($field->blob == 1){ echo "<tr><td><b>$field->name:</b></td><td> <textarea name='$field->name'>".$row[$i]."</textarea></td></tr>"; } else { echo "<tr><td><b>$field->name:</b></td><td> <input type='text' name='$field->name' value='".$row[$i]."' /></td></tr>"; } } $i++; } echo "<tr><td colspan=2><input type='submit' value='Edit Row' /></td></tr>"; echo "</table></form>"; } function postedit(){ $select = mysql_query("SELECT * FROM ".$this->table." WHERE id = ".$_GET['id']); $num = mysql_num_fields($select); $update = "UPDATE ".$this->table." SET "; $i = 1; while($i <= $num){ $column = mysql_fetch_field($select); if($column->name != "id"){ if($i != $num){ $update .= $column->name." = '".$_POST["$column->name"]."', "; } else { $update .= $column->name." = '".$_POST["$column->name"]."' WHERE id = ".$_GET['id']; } } $i++; } mysql_query($update) or die(mysql_error()); echo "Edited row.<br />"; echo "<a href='?action=list'>Back To Listing</a>"; } function deleterow(){ mysql_query("DELETE FROM ".$this->table." WHERE id = ".$_GET["id"]) or die(mysql_error()); echo "Annihilated row.<br />"; echo "<a href='?action=list'>Back To Listing</a>"; } } ?> Thanks in advance PyraX Link to comment https://forums.phpfreaks.com/topic/72717-solved-oop-table-scaffold-help/ Share on other sites More sharing options...
PyraX Posted October 11, 2007 Author Share Posted October 11, 2007 mysql_fetch_field Link to comment https://forums.phpfreaks.com/topic/72717-solved-oop-table-scaffold-help/#findComment-366795 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.