Имам следния проблем в базата данни записвам информацията от текстови фахлове - encoding-a навсякъде е utf8
текстов файл:
кода за добавянето:
кода да изкарването на резултатите
Примерно за обекта Allianz Arena трябва да извади 2 имена от базата дани обаче Всичко е наред изкарва името на обекта правилно но при приоверката в таблицата students разпознава примерно само единия запис с Allianz Arena или нито един при др обекти ако после ръчно променя в базата данни обектите - изкопирам Allianz Arena и го редактирам в съответните записи всичкос е оправя, от какво може да се поражда този пробелем - някак си не записва символите еднакво въпреки че записите си изглеждат абсолютно еднакви като външен вид пише си Allianz Arena но не ги разпознава като еднакви
текстов файл:
Код:
Иван,Иванов,1,Allianz Arena
Димитър,Ангелов,2,Vitra Campus_1
Кремена,Иванова,4,Vittorio Emanuele
Николай,Николов,5,Allianz Arena
кода за добавянето:
PHP:
$target_path = "lists_up/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{
$file = "lists_up/students_$pr.txt";
$fp = fopen($file, "r");
$data = fread($fp, filesize($file));
fclose($fp);
$output = explode("\n", $data);
foreach($output as $var) {
$tmp = explode(",", $var);
$name = $tmp[0];
$family = $tmp[1];
$number = $tmp[2];
$obekt = $tmp[3];
$host= "localhost";
$dbuser =".....";
$dbpass = "....";
$dbname = ".....";
$connection = mysql_connect($host, $dbuser, $dbpass) or die(mysql_error());
mysql_query('set names utf8', $connection);
mysql_select_db($dbname) or die(mysql_error());
$sql = "INSERT INTO students SET name='$name', family='$family', fnumber='$number', obekt='$obekt'";
mysql_query($sql);
}
echo "Списъкът е успешно добавен към базата данни за Практика $pr";
}
else{
echo "Възникна проблем";
}
кода да изкарването на резултатите
PHP:
<?PHP
$ob=$_GET['obekt'];
mysql_query('set names utf8', $connection);
$query = "SELECT obekt_code FROM obekti WHERE obekt='$ob' LIMIT 1";
//Executing the query.
$result = mysql_query($query) or die(mysql_error());
//Displaying the results of the query.
$query_s = "SELECT * FROM students WHERE obekt='$ob'";
$result_s = mysql_query($query_s) or die(mysql_error());
echo("<h2><center>$ob</center></h2><br/>Изготвено от:<br/><br/>");
while ($row_s = mysql_fetch_array($result_s))
{
extract($row_s);
echo("<b>$name $family</b><br/>");
}
while ($row = mysql_fetch_array($result))
{
//extract() takes an associative array and treats the keys as variable names and values as variable values.
extract($row);
echo("<br/><br/><table cellspacing=\"0\" cellpadding=\"0\" ><tr>
<td style=\"width: 50%; border-right: solid 1px white; vertical-align: top;\"><img src=\"praktiki/$praktika/zaglavni/$obekt_code.jpg\" style=\"width: 200px; padding: 0; margin:0; \" /><br/><br/><br/>
Есето е предоставено в учебно-методическия кабинет на 3 етаж</td>
<td style=\" width: 50%; vertical-align: top; text-align: right;\">
<a href=\"fullsizeimage.php?obc=$obekt_code&pr=$praktika&obn=$ob\" style=\" border: 0;\"><img src=\"praktiki/$praktika/tabla/$obekt_code.jpg\" style=\"width: 200px; padding: 0; margin:0;\" /> </a><br/> <i>Натиснете за цял размер</i>
</td>
</tr>
</table>
");
}
?>
Примерно за обекта Allianz Arena трябва да извади 2 имена от базата дани обаче Всичко е наред изкарва името на обекта правилно но при приоверката в таблицата students разпознава примерно само единия запис с Allianz Arena или нито един при др обекти ако после ръчно променя в базата данни обектите - изкопирам Allianz Arena и го редактирам в съответните записи всичкос е оправя, от какво може да се поражда този пробелем - някак си не записва символите еднакво въпреки че записите си изглеждат абсолютно еднакви като външен вид пише си Allianz Arena но не ги разпознава като еднакви