Сравняване на думи

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

lub4o

Registered
Здравейте, имам 3 полета в дб id en bg
И вадя резултати от 'en' със:
PHP:
$sql = mysql_query("SELECT * FROM words ORDER BY RAND() LIMIT 1") or die(mysql_error());
while(...){
 echo  $row['en'];
}

Но доста често думите се повтарят, кой метод да използвам, когато натисна рефреш и думите винаги да са различни?

И след като изкарам произволна английска дума, как мога да сравня с превода на bg, т.e:

HTML:
<input type="text" name="bg" />

И ако заявката ми е изкарала произволна дума good, когато напиша в input-a "добре", с проверка да ми изкарва ОК, а когато напиша в полето думa, която не съответства на превода на en да връща false;
 
Можеш да използваш бисквитка, която да записва ид-то или самата дума при потребителя. Сравняваш ид-то/думата с тези, които скрипта иска да покаже и ако са еднакви взимаш нова дума. Ако думата се различава записваш информацията за нея отново в бисквитката.

PHP:
<?php
$sql = mysql_query("SELECT * FROM words ORDER BY RAND() LIMIT 1") or die(mysql_error());
while($row = mysql_fetch_assoc($sql)) {
	if(!isset($_COOKIE['duma'])) {
		echo $row['en'];
		setcookie("duma", "$row[id]"/*, time()+60*60 */); //Ако искаш да изтича, може да поставиш време
	} else {
		if($_COOKIE['duma'] == $row[id]) {
			$query = "SELECT * FROM `words` WHERE id != '$row[id]' ORDER BY RAND() LIMIT 0,1";
			$result = mysql_query($query) or die(mysql_error());
			$data = mysql_fetch_assoc($result);
			echo $data['en'];
			setcookie("duma", "$data[id]"/*, time()+60*60 */); //Ако искаш да изтича, може да поставиш време
		} else {
			echo $row['en'];
			setcookie("duma", "$row[id]"/*, time()+60*60 */); //Ако искаш да изтича, може да поставиш време
		}
	}
}
?>

Относно втория ти въпрос. Можеш да използваш jquery с ajax функцията.
Код:
<form>
<input type="text" id="duma" />
<input type="submit" id="check" value="Сравни!" />
</form>
<div id="result"></div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
	$(function() {
		$("#check").on("click", function() {
			var duma_chars = $("#duma").val().length;
			if(duma_chars > 0) {
				$.ajax({
					type: "GET",
					url: "./jquery_load.php",
					data: "enduma=<?php echo $row[en]; ?>&bgduma" + $("#duma").val(),
					success:
						function(data) {
							$("#result").html(data);
						}
				});
			}
		});
	});
</script>

И обработващия информацията php скрипт:
PHP:
<?php
$enduma = addslashes(htmlspecialchars(trim($_GET['enduma'])));
$bgduma = addslashes(htmlspecialchars(trim($_GET['bgduma'])));

$sql = "SELECT * FROM `words` WHERE en='$enduma'";
$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($res);

if($row[bg] == $bgduma) {
	echo "<font color='green'>OK!</font>";
} else {
	echo "<font color='red'>NOT OK ;(</font>";
}
?>
 

Back
Горе