Click to See Complete Forum and Search --> : adding table to ...


davidjmorin
November 24th, 2007, 12:24 PM
how do i add a table to the following script? so that each link is in a row.


<?
if(isset($_GET['id']))
{
include 'config.php';
include 'opendb.php';

$id = $_GET['id'];
$query = "SELECT name, type, size, content FROM upload WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;

include 'closedb.php';
exit;
}

?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'config.php';
include 'opendb.php';

$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>

<?
}
}
include 'closedb.php';
?>
</body>
</html>

hspc
November 24th, 2007, 05:21 PM
This should work fine:
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
?>
<table border="1">
<?
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<tr><td>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a>
</td></tr>
<?
}
?>
</table>
<?
}

Please put code snippets in code tags, also this question should be moved to the server side scripting forum.

davidjmorin
November 25th, 2007, 12:05 AM
after changing to what you suggested i get the following error..

Parse error: syntax error, unexpected '}' in /home/portlao9/public_html/test_11242007/download.php on line 56

davidjmorin
November 25th, 2007, 12:13 AM
got it to work i had an extra item in there thanks for your help

Maybe you could help me on something else im trying to do. I would like to have it so that when a user uploads an item they can label it whatever they want rather then the uploaded file name such as "picture.jpg" and rename it just "fun at the beach" what would i put in my upload form? here is the code


<body bgcolor="black">

<form method="post" enctype="multipart/form-data">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>

<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}

include 'config.php';
include 'opendb.php';

$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

mysql_query($query) or die('Error, query failed');
include 'closedb.php';

echo "<br>File $fileName uploaded<br>";
}
?>


and the download form whree the user submitted name will appear


<?
if(isset($_GET['id']))
{
include 'config.php';
include 'opendb.php';

$id = $_GET['id'];
$query = "SELECT name, type, size, content FROM upload WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;

include 'closedb.php';
exit;
}

?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'config.php';
include 'opendb.php';

$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
?>
<table border="1">
<?
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<tr><td>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a>
</td></tr>
<?
}
?>
</table>
<?
}
include 'closedb.php';
?>
</body>
</html>

hspc
November 26th, 2007, 04:28 PM
You need to add something like this to the form:
<td>Title: <input name="tmp_name" type="text" id="tmp_name"></td>
note that I used the same name that ou used in the code.