Вземане на думи от БД

bganonymous

Registered
Става въпрос за тази тема:
http://web-tourist.net/forum/viewtopic.php?p=649164

Направих това което искам, но искам да не се вземат думите от самия PHP код, а от самата база данни. Как може да стане това?

Ето кода от темата:
Код:
<?php
if(isset($_POST['submit'])) {
    $input = $_POST['tekst'];
    $dictionary = array(
        'едно' => '1',
        'две'  => '2', 
        'три'  => '3',
    );

    $output = "";

    foreach(explode(' ', $input) as $word) {
        if(array_key_exists($word, $dictionary)) {
            $word = $dictionary[$word];
        }
        $output .= $word . " ";
    }

    echo $output;
}
?>

<form action="" method="post">
    <textarea name="tekst" cols="5" rows="5"></textarea>
    <input type="submit" name="submit" value="Добави" />
</form>
 
Ами виж как се извличат данни от бд. Вместо думите от кода вмъкни данните от съответните полета. Виж как се извеждат данни от БД
 
PHP:
$query = mysql_query('SELECT `tekst` FROM `table` WHERE id = 5');
$row = mysql_fetch_assoc($query);
$input = $row['tekst'];
...

и надолу е същото. Разбира се, заявката трябва ти да я измислиш според твоята база данни.
 
djman каза:
PHP:
$query = mysql_query('SELECT `tekst` FROM `table` WHERE id = 5');
$row = mysql_fetch_assoc($query);
$input = $row['tekst'];
...

и надолу е същото. Разбира се, заявката трябва ти да я измислиш според твоята база данни.
я ми го вгради в самия код, че нещо не схванах... :shock:
 
дай си заявката...

ползвам същите имена на променливите - от $input надолу всичко е едно и също.

Пишеш си заявката, взимаш резултатите и присвояваш текста, който искаш на променливата $input. Дали ще е от база данни, форма или друго - няма значение. Ти май ще ползваш това на повече от 2 места и ще е хубаво да си го извадиш на функция...
 
Каква ти е таблицата? Предполагам, че имаш нещо такова - три колони - id, колона_с_дума, колона_с_преобразувана_дума.
PHP:
<?php
...//тук влизаш в БД, като $conn = mysqli_connect("","","");
$izrechenie = $_POST['izrechenie'];//ще работим върху този низ
$sql = mysqli_query($conn, "select * from `table`");//извличаме всички думи и значения от таблицата table
while(list($duma, $znachenie)=mysqli_fetch_row($sql);){
   //$duma = дума, която ще се замества
   //$znachenie = думата, с която ще бъде заместена $duma
   $izrechenie = str_replace($duma, $znachenie, $izrechenie);//това е самото заместване
}
echo $izrechenie;
?>
Този цикъл взима всяка двойка дума-значение и с функцията str_replace ги замества във въведения в полето текст. Надявам се да работи, но и да не тръгва, вероятно схващаш идеята :)
 

Back
Горе