Проблем с взимането на информация от база данни...и още нещо

  • Автор Автор Acho
  • Начална дата Начална дата

Acho

Registered
Опитвам се да си направя една система за биографии. Ама view.php ми се пъне нещо.
От индекса като цъкна на някоя вече вкарана в бд данни биография ми отива в файла view.php, а не в view.php?id=10 да речем. От кой файл идва този проблем в случая? index.php или view.php? Отделно В view.php не ми изкарва квото съм му дал задал. Ето го файла:

Код:
<?php
include ("config.php");
if(isset($_GET['id'])){
$id = (int) $_GET['id'];
}
$query = mysql_query("SELECT * FROM biografii WHERE id='$id' LIMIT 1");
while($r = mysql_fetch_array($query))
{
$statiq = stripslashes($r[statiq]);
$statiq = str_replace("[b]",'<b>',$statiq);
$statiq = str_replace("[/b]",'</b>',$statiq);
$statiq = str_replace("[i]",'<i>',$statiq);
$statiq = str_replace("[/i]",'</i>',$statiq);
$statiq = str_replace("[u]",'<u>',$statiq);
$statiq = str_replace("[/u]",'</u>',$statiq);
$statiq = str_replace("[img]",'<br><img src=',$statiq);
$statiq = str_replace("[/img]",'>',$statiq);
$statiq = str_replace("[center]",'<br><center>',$statiq);
$statiq = str_replace("[/center]",'</center>',$statiq);
$statiq = str_replace("[left]",'<span style=float:left>',$statiq);
$statiq = str_replace("[/left]",'</span>',$statiq);
$statiq = str_replace("[right]",'<br><span style=float:right>',$statiq);
$statiq = str_replace("[/right]",'</span>',$statiq);
$statiq = preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s", '<a href="$1">$2</a>',$statiq);
$category = $r[id_kat];
$query1 = "SELECT * FROM kategorii WHERE id_kat='$category' LIMIT 1";
$result1=mysql_query($query1);
$red = mysql_fetch_array($result1);
$cat = stripslashes($red[zaglavie]);
echo "<ul>
<li><b>Изпълнител:</b> <i><a href=\"view.php?id=$id\">$r[zaglavie]</i></li>
<li><b>Категория:</b> <i><a href=category.php?id=$category>$cat</a></i></li>
<li><b>Автор:</b> <i>$r[avtor]</i></li></ul>
<hr width=\"99%\"><table width=\"99%\" align=\"center\">
<p align=\"justify\">$statiq</p>";
}
?>
echo "<table  width=\"100%\">;"
}
?>
</td></tr>
<tr><td align="right" class="style911">
<?php
include ("config.php");
function page_count($page) {
    $c_link = mysql_connect('localhost', 'user', 'pass')
        or die('counter CONNECT error: '.mysql_errno().', '.mysql_error());
    mysql_select_db('count');
    $c_query = "SELECT * FROM stats_pagecounter
        WHERE (page_name = '$page')";
    $c_result = mysql_query($c_query, $c_link)
        or die('counter SELECT error: '.mysql_errno().', '.mysql_error());
    if (mysql_num_rows($c_result)) {
        $row=mysql_fetch_array($c_result,MYSQL_ASSOC);
        $pcounter = $row['page_hits']+1;
        $c_update = "UPDATE stats_pagecounter
            SET page_hits = '$pcounter' WHERE page_name = '$page'";
        $c_hit = mysql_query($c_update, $c_link)
            or die('counter UPDATE error: '.mysql_errno().', '.mysql_error());
    } else {
        $c_insert = "INSERT INTO stats_pagecounter
            VALUES ( '0', '$page', '1')";
        $c_page = mysql_query($c_insert, $c_link)
            or die('counter INSERT error: '.mysql_errno().', '.mysql_error());
        $pcounter = 1;
    }
    mysql_free_result($c_result);
    mysql_close($c_link);
    return $pcounter;
}
$phpself_url = $_SERVER['SERVER_NAME'].
    $_SERVER['PHP_SELF'].'?'.
    $_SERVER['QUERY_STRING'];
$page_hits = page_count($phpself_url);

echo "Посетена: <b>$page_hits пъти</b>";
?>

Структурата на бд ми е:

biografii
- id, id_kat, zaglavie, link, statiq, avtor, data
kategorii
stats_pagecounter
 
Acho каза:
Опитвам се да си направя една система за биографии. Ама view.php ми се пъне нещо.
От индекса като цъкна на някоя вече вкарана в бд данни биография ми отива в файла view.php, а не в view.php?id=10 да речем. От кой файл идва този проблем в случая? index.php или view.php? Отделно В view.php не ми изкарва квото съм му дал задал. Ето го файла:


Това е защото когато изваждаш, вече написаните биографии от БД-то,
не си задал ID на всеки линк.

Примерно едно извеждане с ID ще изглежда така:

  • $sql = mysql_query("SELECT * FROM `tablica_na_biografii` ORDER BY `id` ASC`) or die(mysql_error());
    while ($row = mysql_fetch_array($sql)) {
    echo "<a href=view.php?id=$row[id]>$row[zaglavie]</a>";
    }

  • Където :
    ?id=$row[id] - Е Колоната със ID-тата
    $row[zaglavie] - Е Колоната със Заглавията на биографиите.


И След това в view.php присвояваш с:

$biografiq = $_GET['id'];

И заявката ти ще стане такава :
mysql_query("SELECT * FROM `tablica_na_biografii` WHERE `id`='$biografiq'") or die(mysql_error());
 
Smirnoff каза:
Acho каза:
Опитвам се да си направя една система за биографии. Ама view.php ми се пъне нещо.
От индекса като цъкна на някоя вече вкарана в бд данни биография ми отива в файла view.php, а не в view.php?id=10 да речем. От кой файл идва този проблем в случая? index.php или view.php? Отделно В view.php не ми изкарва квото съм му дал задал. Ето го файла:


Това е защото когато изваждаш, вече написаните биографии от БД-то,
не си задал ID на всеки линк.

Примерно едно извеждане с ID ще изглежда така:

  • $sql = mysql_query("SELECT * FROM `tablica_na_biografii` ORDER BY `id` ASC`) or die(mysql_error());
    while ($row = mysql_fetch_array($sql)) {
    echo "<a href=view.php?id=$row[id]>$row[zaglavie]</a>";
    }

  • Където :
    ?id=$row[id] - Е Колоната със ID-тата
    $row[zaglavie] - Е Колоната със Заглавията на биографиите.


И След това в view.php присвояваш с:

$biografiq = $_GET['id'];

И заявката ти ще стане такава :
mysql_query("SELECT * FROM `tablica_na_biografii` WHERE `id`='$biografiq'") or die(mysql_error());

Здрасти напиши ми view-то че не знам къде да присвоя файла много е важно не мога да се справя с това от няколко седмици ще съм ти много благодарен:
Това е моето view.php:

$connect = mysql_connect($host, $user, $pass); // Свързваме се с Базата данни!
mysql_select_db($bd, $connect) or die (mysql_error()); //Изпълняваме заявката като селектираме цялата База Данни!
mysql_query("SET names cp1251/* DA NE SE PROMENQ*/"); // Правим си енкодинга на UTF8

//Инклудваме конфиг файла!
if (isset($_POST['submit'])) { //Проверяваме дали е натиснат бутона submit!

$text = htmlspecialchars(addslashes($_POST['text']));
$grad = htmlspecialchars(addslashes($_POST['grad']));
$tel = htmlspecialchars(addslashes($_POST['tel']));
$email = htmlspecialchars(addslashes($_POST['email']));
$ime = htmlspecialchars(addslashes($_POST['ime']));
$kategoriq = htmlspecialchars(addslashes($_POST['kategoriq']));

$data = date ("d.m.y./H:i"); //Взимаме датата и часът на вавеждането на коментара!
$ip = $_SERVER['REMOTE_ADDR']; //Взимаме ипто на потребителят който е въвел коментара!
if ($email == NULL || $tel == NULL || $text == NULL || $grad == NULL) { //Правим провекра дали полетата са празни!
echo "Моля попълнете задължителните полета!"; //И ако са празни извеждаме грешка!
}
else {
$sql = "INSERT INTO publikuvai
(kategoriq, ime, grad, tel, email, text, data, ip) VALUES
('$kategoriq', '$ime', '$grad', '$tel', '$email', '$text', '$data', '$ip')"; //Ако всичко е попълнено както трябва въвждаме данните в Базата данни!
mysql_query($sql) or die (mysql_error()); //Испълняваме заявката!
header("LOCATION: publikuvai.php?id=$id"); //Този код прави така, че когато рефрешнете страницата след добавянето на коментар да не добавя коментара на ново!
}}
?>

<?php // От тук на доло е кодът за извеждане на коментарите!

mysql_query("SELECT * FROM `publikuvai` WHERE `id`='$//тук не знам какво!'") or die(mysql_error()); ?>

<?php while ($row = mysql_fetch_assoc($our)) { // Правим си един цикъл в който ще извеждаме коментарите!

echo "<a href=view.php?id=$row[id]><table width='500' border='1' bgcolor='cdcdcd' align='center'>

<tr><td width='160'><b><i><font color='000000' size='5'>$row[kategoriq]</font></i></b></td> <td><b>$row[text]</b></td></tr>

<tr><td><font color='red'>$row[ime]</font></td> <td><b>тел.<font color='red'>$row[tel]</font></b></td></tr>

<tr><td><b>Град:<font color='red'>$row[grad]</font></b></td> <td><b>Публикувана:<font>$row[data]</font></b></td></tr></a>

</table><br>";}?>
Кагото курсура е на дадената обява във "всичките" отдолу понеже съм google chome ми изписва че като кликна ще ми изкара view.php? id-то на съответна обява обаче не ми излиза нищо
 

Back
Горе