PDA

View Full Version : سوال: نمایش یک ستون از دیتابیس به صورت لینک و فرستادن id به صفحه بعد با کوئری استرینگ



bftarane
شنبه 01 تیر 1392, 19:47 عصر
سلام.
لطفاً این کدها رو ببینید

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test_mysql"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT title,id FROM test_mysql";
$result=mysql_query($sql);
if (!$result) {
die("Database query failed: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo "<a href=\"mypage.php?code=".$row["id"]."\">".$row["title"]."</a><br/>";
}
?>

من با این روش title و id رو واکشی می کنم از دیتابیس و titleها رو به صورت لینکهای زیر هم نشون می دم که با کلیک روی هر لینک id به صفحه بعد فرستاده میشه.

می خواستم بدونم آیا روش بهتری برای این کار وجود داره یا نه؟
ممنون.

فرزند کوروش
یک شنبه 02 تیر 1392, 08:59 صبح
نه همین روش درسته
فقط تو صفحه ای که خروجی رو بر اساس ای دی نشون میدی حاما دقت کن که از نوع عددی باشه

$code = intval($_GET['code']);

MMSHFE
دوشنبه 03 تیر 1392, 06:45 صبح
کدتون درسته، فقط یکم براتون بهینه سازیش کردم. تغییرات کد مشخصه ولی اگه احیاناً جایی سؤال داشتین، بپرسین.


<?php
$host = 'localhost'; // Host name
$username = 'root'; // Mysql username
$password = ''; // Mysql password
$db_name = 'test'; // Database name
$tbl_name = 'test_mysql'; // Table name
// Connect to server and select database.
mysql_connect($host, $username, $password)or die('Cannot connect');
mysql_select_db($db_name)or die('Cannot select DB');
mysql_query('SET NAMES \'utf8\'');
$sql = 'SELECT `id`,`title` FROM `test_mysql`';
$result = mysql_query($sql) or die('Database query failed: ' . mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo '<a href="mypage.php?code="' . htmlentities($row['id'], ENT_QUOTES, 'utf-8') . '">' . htmlentities($row['title'], ENT_QUOTES, 'utf-8') . '</a>';
}
mysql_free_result($result);
mysql_close();
?>