Проблем с MySQL

ghostbg

Registered
Здравейте искам да ви попитам защо след като качих рецептата в БД в таблица recepti и после я извлекох в страница се получи това http://lubang.freehostia.com/test/receptatest.php
в базата данни рецептата не е на кирилица а е само с питанки ще ми кажете ли как да го оправя това ??
 

cold_zero

Registered
При записа в базата данни трябва да имаш
Код:
$chars="SET CHARACTER SET cp1251";mysql_query($chars);

Също така и при самото четене на информацията от БД трябва да го имаш :?:
 

ghostbg

Registered
аз въвеждам данните в таблицата директно от phpmyadmin/sql и там не ми приема SET CHARACTER SET cp1251 или просто не го висвам както трябва

а също така как да изваждам от таблицата определено ID?
 

cold_zero

Registered
В какъв смисъл не ти приема SET CHARACTER SET cp1251 ???

Относно втория въпрос ето ти код

Код:
$query = " SELECT* FROM tablica where id='%$id%' ORDER BY id DESC";

$id ти е променлива която можеш да вземеш по следния начин
В началото на страницата слагаш $id=$_GET['id'];

Ако някой потребител отвори recepti.php?id=2, то ще му се покаже рецептата с id отговарящ на 2


По този начин ти ги подрежда и по id ;)
 

Admin

Registered
ghostbg каза:
аз въвеждам данните в таблицата директно от phpmyadmin/sql и там не ми приема SET CHARACTER SET cp1251 или просто не го висвам както трябва

а също така как да изваждам от таблицата определено ID?

Като създаваше базата данни каква колация зададе.
 

ghostbg

Registered
latin1_swedish_ci чак сега видях :) добре оправих си българския а по другия въпрос по късно ще опитам да направя това което каза cold_zero и ако има проблеми ще питам ако може :)
 

ghostbg

Registered
не успях да се справя
Код:
$query = " SELECT* FROM tablica where id='%$id%' ORDER BY id DESC";
не знам къде да го вмъкна този код както и $id=$_GET['id']; ето пхп кода които аз използвам да извлеча рецепта от БД


Код:
<?php 
$conn=@mysql_connect("************","*********","*********")
or die ("грешка");

$chars="SET CHARACTER SET cp1251";mysql_query($chars);

$rez = @mysql_select_db("**********", $conn )
or die("Грешка");

$zaiavka = "select recepti_name, recepti_prod, recepti_text from recepti";
$query = " SELECT* FROM recepti where id='%$id%' ORDER BY id DESC";
$id=$_GET['id'];

$rez = mysql_query( $zaiavka, $conn );

while( $red = mysql_fetch_array( $rez ) )
{ echo( $red["recepti_name \n"] );
echo( "Продукти:\n" .$red["recepti_prod"] . "<p>");
echo( "Начин на приготвяне:\n" .$red["recepti_text"] );
}
?>

ако има по лесен код няма да ви се расърда ако го споделите с мен :) :)
 

n_alexiev

Registered
Ами аз си мисля ,че трябва да сетваш колацията на БД да е същата като на страницата .
По възможност UTF-8 :wink:
 

cold_zero

Registered
Код:
<?php
$id=$_GET['id'];
$conn=@mysql_connect("************","*********","*********")
or die ("грешка");

$chars="SET CHARACTER SET cp1251";mysql_query($chars);

$rez = @mysql_select_db("**********", $conn )
or die("Грешка");

$zaiavka = "select recepti_name, recepti_prod, recepti_text from recepti";
$query = " SELECT* FROM recepti where id='%$id%' ORDER BY id DESC";

$rez = mysql_query( $zaiavka, $conn );

while( $red = mysql_fetch_array( $rez ) )
{ echo( $red["recepti_name \n"] );
echo( "Продукти:\n" .$red["recepti_prod"] . "<p>");
echo( "Начин на приготвяне:\n" .$red["recepti_text"] );
}
?>
 

jooorooo

Registered
cold_zero
заявката си я направил, но правиш една голяма грешка.

$query = " SELECT* FROM recepti where id='%$id%' ORDER BY id DESC";

така както си го задал, ако имаме id=$_GET['1'];

а имаме 111 записа в базата, ще покаже всички резултати които имат 1-ца в себе си. примерно ако не е id а е text и задаваш кон, ще ти покаже всяка дума в която има кон. пример:

конспиратор, конски, конница и тн.

скрипта трябва да е ето така:

Код:
<?php 
$id=$_GET['id']; 
$conn=@mysql_connect("************","*********","*********") 
or die ("грешка"); 

$chars="SET CHARACTER SET cp1251";mysql_query($chars); 

$rez = @mysql_select_db("**********", $conn ) 
or die("Грешка"); 

$zaiavka = "select recepti_name, recepti_prod, recepti_text from recepti"; 
$query = " SELECT* FROM recepti where id='$id' ORDER BY id DESC"; 

$rez = mysql_query( $zaiavka, $conn ); 

while( $red = mysql_fetch_array( $rez ) ) 
{ echo( $red["recepti_name \n"] ); 
echo( "Продукти:\n" .$red["recepti_prod"] . "<p>"); 
echo( "Начин на приготвяне:\n" .$red["recepti_text"] ); 
} 
?>

без % % покрай $id-то
 

Горе