Помощ с една заявка

mizarck

Registered
Здравейте,
опитвам се да направя каквото и да е въведено в формата да "Търси" Резултати
но нещо не се получава
само когато всички полета са пълни тогава намира

SQL
Код:
CREATE TABLE `jbg_student` (
  `name` text collate cp1251_bulgarian_ci NOT NULL,
  `name2` text collate cp1251_bulgarian_ci NOT NULL,
  `name3` text collate cp1251_bulgarian_ci NOT NULL,
  `fak` text collate cp1251_bulgarian_ci NOT NULL,
  `predmet` text collate cp1251_bulgarian_ci NOT NULL,
  `poin` text collate cp1251_bulgarian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci;

student.php
Код:
<style type="text/css">

</style>
<div align="center">
<form name="form1" method="post" action="student2.php">
    <table width=100% border=0 cellspacing=2 cellpadding=2>
      <tr>
        <td width=50%>
            <div align=right>Име Презиме Фамилия
        </div></td>
        <td width=50%><div align=left>
          <input name=name3 type=text id=name size=17 value=> <input name=name3 type=text id=name3 size=17 value=> <input name=name3 type=text id=name3 size=16 value=>
        </div></td>
      </tr>
      <tr>
        <td>
			<div align=right>Факултетен номер 
        </div></td>
        <td><div align=left>
          <input name=fac type=text id=fac size=60 value=>
        </div></td>
      </tr>
      <tr>
        <td colspan=2><div align=center class=style1>
          <div align=center>
            <input type=submit name=submit value=Провери>
            </div>
        </div>          <div align=center></div></td>
      </tr>
    </table>
    </form>

</div>

student2.php
Код:
<style type="text/css">

</style>
<div align="center">
<?php
$name = trim($_POST['name']);
$name2 = trim($_POST['name2']);
$name3 = trim($_POST['name3']);
$fac = trim($_POST['fac']);
$flag = "0";
include("configuration.php");
$connection = mysql_connect("$mosConfig_host", "$mosConfig_user", "$mosConfig_password");
$db = mysql_select_db("$mosConfig_db", $connection);
mysql_query("SET NAMES cp1251");
$table = "jbg_student";
if ($name == "")
{
$zaqvka = "select * from $table where name2='$name2' AND name3='$name3' OR fak='$fac'";
}elseif ($name == "" && $name2 == "")
{
$zaqvka = "select * from $table where name3='$name3' OR fak='$fac'";
}elseif ($name == "" && $name3 == "")
{
$zaqvka = "select * from $table where name2='$name2' OR fak='$fac'";
}elseif ($name2 == "")
{
$zaqvka = "select * from $table where name='$name' AND name3='$name3' OR fak='$fac'";
}elseif ($name2 == "" && $name3 == "")
{
$zaqvka = "select * from $table where name='$name' OR fak='$fac'";
}elseif ($name3 == "")
{
$zaqvka = "select * from $table where name='$name' AND name2='$name2' OR fak='$fac'";
}
$query = mysql_query($zaqvka);
while($rows = mysql_fetch_array($query))
{
echo "<table width=100% border=0 cellspacing=2 cellpadding=2>
  <tr>
    <td bgcolor=#CCCCCC><div align=right>Име</div></td>
    <td bgcolor=#CCCCCC><div align=left>$rows[0] $rows[1] $rows[2]</div></td>
  </tr>
  <tr>
    <td bgcolor=#999999><div align=right> Факултетен номер</div></td>
    <td bgcolor=#999999><div align=left>$rows[3]</div></td>
  </tr>
  <tr>
    <td bgcolor=#CCCCCC><div align=right>Предмет</div></td>
    <td bgcolor=#CCCCCC><div align=left>$rows[4]</div></td>
  </tr>
  <tr>
    <td bgcolor=#999999><div align=right>Оценка</div></td>
    <td bgcolor=#999999><div align=left>$rows[5]</div></td>
  </tr>
</table>
<br><br>";
$flag++;
}
if ($flag == "0")
{
echo "<style type=text/css>

</style>
<span class=style1>Няма Резултати </span>";
}
?>
</div>

Каде е грешката че немога да я открия
 
присвояваш и на 3-те места name3. задал си id да е различно, а трябва да е name

Код:
<input name=name3 type=text id=name size=17 value=> <input name=name3 type=text id=name3 size=17 value=> <input name=name3 type=text id=name3 size=16 value=>

Код:
<input name=name type=text id=name size=17 value=> <input name=name2 type=text id=name3 size=17 value=> <input name=name3 type=text id=name3 size=16 value=>

дори може да не пишеш валуе, не ти е нужно в случая
 
ам да наистина съм дал едни и същи имена
но явно греша някаде и в php кода защото за да ми намери нещо ми изка поне 2 от имената или само "фак номера"
а трябва да намира резултат при само 1 попълнено поле а сега нз как става така но трябва да са 2 независимо кой :(
 
ясно. кудето имаш AND по заявките

where name='$name' AND name3='$name3' OR fak='$fac'";

го направи OR

where name='$name' OR name3='$name3' OR fak='$fac'";

П.П. дори щом само по едно поле.. не виждам смисъл от толкова заявки, само 1 стига

Код:
$zaqvka = "select * from $table where name2='$name2' OR name='$name' OR name3='$name3' OR fak='$fac'";
 
За да неотварям друга тема ще кажете ли каде пак бъркам

Код:
UPDATE `$table` SET name='$name' AND name2='$name2' AND name3='$name3' AND fak='$fak' AND predmet='$pred' AND poin='$poin' where fak='$fak'

базата данни я има в първия пост
 
UPDATE `$table` SET name='$name', name2='$name2', name3='$name3', fak='$fak', predmet='$pred', poin='$poin' where fak='$fak'

Не може да ъпдеитваш нещо което го ползваш за котва. отделно в 1-вия си задал fak=$fac
 

Back
Горе