Една заявка

C++ JAVA
xto
Турист
Турист
Posts: 579
Joined: Tue May 30, 2006 1:35 pm

Една заявка

Post by xto » Wed Nov 19, 2008 4:42 pm

значи искам потребителите ми в сайта да си сортират песните както те желаят по месец, по година или по месец и година

аз сам го направил когато изберат месец и година и дадат сортирай да ги сортира но не мога д анаправя примерно ако изберат само година и дадат сортирай да им изкара замо за тая година или пук ако изберат само месец да им сортира само за месеца който са избрали

трябва с проверка да стане но не мога да е направя тая проверка моля помогнете ето какво правя аз....


така тука си избират месеца и годината...

Code: Select all

 <form action="mixes/sort.php" method="post" name="forma">
 
	<select name="date2" size="1" class="loginnn" style="border&#58; 1px solid #000;">

     <option value="Месец" selected="selected">Месец</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Jan">&#40;01&#41; Jan</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Feb">&#40;02&#41; Feb</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Mar">&#40;03&#41; Mar</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Apr">&#40;04&#41; Apr</option>
          <option class="Login" style="border&#58; 1px solid black;" value="May">&#40;05&#41; May</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Jun">&#40;06&#41; Jun</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Jul">&#40;07&#41; Jul</option>
		  <option class="Login" style="border&#58; 1px solid black;" value="Aug">&#40;08&#41; Aug</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Sep">&#40;09&#41; Sep</option>
          <option class="Login" style="border&#58; 1px solid black;" value="Oct">&#40;10&#41; Oct</option>
		  <option class="Login" style="border&#58; 1px solid black;" value="Nov">&#40;11&#41; Nov</option>
		  <option class="Login" style="border&#58; 1px solid black;" value="Dec">&#40;12&#41; Dec</option>
        </select>&nbsp;&nbsp;&nbsp;
        
		<select name="year" size="1" class="loginnn" style="border&#58; 1px solid #000;">
          <option value="Година" selected="selected">Година</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2000">2000</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2001">2001</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2002">2002</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2003">2003</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2004">2004</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2005">2005</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2006">2006</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2007">2007</option>
          <option class="Login" style="border&#58; 1px solid black;" value="2008">2008</option>
        </select> 
       &nbsp;&nbsp; 
<input name="submit2" type="submit" class="loginnn" style="border&#58; 1px solid #000;" value="Сортирай !" />   
</form>  

sort.php

Code: Select all

if &#40;$_POST&#91;"date2"&#93; == ""&#41;
&#123;
	echo "<div align=\"center\"><span style=\"font-family&#58;Arial, Helvetica, sans-serif; font-size&#58;12px; color&#58;#F29D9D;\">Моля изберете дата, по която системата да ви сортира сетовете !</span></div><BR>";
&#125;

$date2 = $_POST&#91;'date2'&#93;;
$year = $_POST&#91;'year'&#93;;

  $sql = mysql_query&#40;"SELECT * FROM mixes where `year` = '$year' and `date2` = '$date2' and `activ` = 'active' ORDER BY `id` DESC LIMIT 5000"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
  &#123; ... и така нататака...

каква ми е проверката че като избера само година да ми сортира само за година а не да ми изписва

Code: Select all

Warning&#58; mysql_fetch_assoc&#40;&#41;&#58; supplied argument is not a valid MySQL result resource in /home/allmix/public_html/mixes/sort.php on line 254
както сега
http://www.allmix.org/mixes/sort.php
мерси :?:

phpsessid
Нов
Нов
Posts: 81
Joined: Mon Oct 02, 2006 9:07 am
Location: Kosmosa
Contact:

d

Post by phpsessid » Wed Nov 19, 2008 5:38 pm

$sql = mysql_query("SELECT * FROM mixes where `year` = '$year' and `date2` = '$date2' and `activ` = 'active' ORDER BY `id` DESC LIMIT 5000");

Мисля че трябва да ти е

Code: Select all

 $sql = mysql_query&#40;"SELECT * FROM mixes where `year` = '$year' and `date2` = '$date2' and &#91;color=red&#93;`active`&#91;/color&#93; = 'active' ORDER BY `id` DESC LIMIT 5000"&#41;; 
Но не съм сигурен не знам как ти е таблицата няма да е лошо да покажеш.А какво връща mysql_error();
напиши edno echo mysql_error();

след mysql_num_rows/query
............................................................................................................................................

xto
Турист
Турист
Posts: 579
Joined: Tue May 30, 2006 1:35 pm

Post by xto » Thu Nov 20, 2008 12:08 pm

не бе човек не си ми рзбрал въпроса :) сичко ми работи идеално просто искам ако от формата горе сам избрал само годината да ми изкарва само а година ако сам избрал само месец да ми изкарва само емсец сега бачка ама ако избера месец и година само тогава ми изкарва ;)

Replace

Re: Една заявка

Post by Replace » Thu Nov 20, 2008 12:22 pm

Просто вместо грешки , слагай заявки
примерно:

Code: Select all

if &#40;isset&#40;$_POST&#91;'date1'&#93;&#41; && !isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако е избран само месеца
$mesec = $_POST&#91;'date1'&#93;;
$sql = mysql_query&#40;"SELECT ........... WHERE mesec='$mesec' AND activ='active'"&#41;;
while &#40; ................................ &#41;
&#125; 
if &#40;!isset&#40;$_POST&#91;'date1'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако е избрана само годината
$godina = $_POST&#91;'date2'&#93;;
$sql = mysql_query&#40;"SELECT ........... WHERE year='$godina' AND activ='active'"&#41;;
while &#40; ................................ &#41;
&#125; 
if &#40;isset&#40;$_POST&#91;'date1'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако са избрани и двете 
$year = $_POST&#91;'date2'&#93;; $mesec = _$POST&#91;'date1'&#93;;
$sql = mysql_query&#40;"SELECT ........... WHERE year='$godina' AND mesec='$mesec' AND activ='active'"&#41;;
while &#40; ................................ &#41;
&#125; 
else &#123;
echo "<div align=\"center\"><span style=\"font-family&#58;Arial, Helvetica, sans-serif; font-size&#58;12px; color&#58;#F29D9D;\">Моля изберете дата или месец , по която да ви се сортират песните !</span></div><BR>"; 
&#125;

xto
Турист
Турист
Posts: 579
Joined: Tue May 30, 2006 1:35 pm

Post by xto » Thu Nov 20, 2008 1:00 pm

Code: Select all

 if &#40;isset&#40;$_POST&#91;'date1'&#93;&#41; && !isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако е избран само месеца
$mesec = $_POST&#91;'date1'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE mesec='$mesec' AND activ='active'"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
&#125;
if &#40;!isset&#40;$_POST&#91;'date1'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако е избрана само годината
$godina = $_POST&#91;'date2'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE year='$godina' AND activ='active'"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
&#125;
if &#40;isset&#40;$_POST&#91;'date1'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако са избрани и двете
$year = $_POST&#91;'date2'&#93;; $mesec = _$POST&#91;'date1'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE year='$godina' AND mesec='$mesec' AND activ='active'"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;

&#125;
else &#123;
echo "<div align=\"center\"><span style=\"font-family&#58;Arial, Helvetica, sans-serif; font-size&#58;12px; color&#58;#F29D9D;\">Моля изберете дата или месец , по която да ви се сортират песните !</span></div><BR>";
&#125;

$date2 = $_POST&#91;'date2'&#93;;
$year = $_POST&#91;'year'&#93;;

  $sql = mysql_query&#40;"SELECT * FROM mixes where `year` = '$year' and `date2` = '$date2' and `activ` = 'active' ORDER BY `id` DESC LIMIT 5000"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
  &#123;
	  
   $id = $arr&#91;"id"&#93;;
 $name = $arr&#91;"name"&#93;;

  ?>
<?=$name?>

 <?
  &#125;
  ?>
значи според мене траа да са пдоредени в тоя последователнсот но на while нещо бъркам май а и това date1 аз там записвам и деня но не изкам да ми сортира и по ден

Replace

Post by Replace » Thu Nov 20, 2008 1:03 pm

Е трябва да си го едитнеш малко , това не е готов скрипт.Надрасках ти го набързо и направо в сайта , затова някои неща които не се сещах - им слагах подобни имена

xto
Турист
Турист
Posts: 579
Joined: Tue May 30, 2006 1:35 pm

Post by xto » Thu Nov 20, 2008 1:23 pm

да аз видях и се опитвам сега да ги навържа нещатата но нещо се бъгясва са ми изписва грепка на най долния таг </html> хах

Code: Select all

rse error&#58; syntax error, unexpected $end in /home/allmix/public_html/mixes/sort.php on line 282
защо така не сам затворил някъде ли

Code: Select all

<? 


mysql_connect &#40;$server, $mysql_user, $mysql_pass, $mysql_db, $Table&#41; or die &#40;"unable to connect to database"&#41;;
mysql_select_db&#40;"$mysql_db"&#41; or die &#40;"unable to select DB"&#41;;
  
if &#40;isset&#40;$_POST&#91;'date2'&#93;&#41; && !isset&#40;$_POST&#91;'year'&#93;&#41;&#41; &#123;
// тука ако е избран само месеца
$date2 = $_POST&#91;'date2'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE date2='$date2' AND activ='active' ORDER BY `id` DESC LIMIT 5000"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
  &#123;
	  
   $id = $arr&#91;"id"&#93;;
 $name = $arr&#91;"name"&#93;;
?>
	<?=$name?>
<?
  &#125;
?>
<?
  
if &#40;!isset&#40;$_POST&#91;'year'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123;
// тука ако е избрана само годината
$year = $_POST&#91;'year'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE year='$year' AND activ='active' ORDER BY `id` DESC LIMIT 5000"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
  &#123;
	  
  $id = $arr&#91;"id"&#93;;
 $name = $arr&#91;"name"&#93;;
?>
	<?=$name?>
<?
  &#125;
?>

<? 
if &#40;isset&#40;$_POST&#91;'date2'&#93;&#41; && isset&#40;$_POST&#91;'year'&#93;&#41;&#41; &#123;
// тука ако са избрани и двете
$date2 = $_POST&#91;'date2'&#93;; 
$year = $_POST&#91;'year'&#93;;
$sql = mysql_query&#40;"SELECT mixes WHERE year='$year' AND date2='$date2' AND activ='active' ORDER BY `id` DESC LIMIT 5000"&#41;;
while&#40;$arr = mysql_fetch_assoc&#40;$sql&#41;&#41;
  &#123;
	  
  $id = $arr&#91;"id"&#93;;
 $name = $arr&#91;"name"&#93;;
?>
	<?=$name?>
<?
  &#125;
?>

User avatar
alex95_bg_2
Шаман
Шаман
Posts: 5462
Joined: Thu Jul 24, 2008 8:25 am
Answers: 325
Location: localhost
Contact:

Post by alex95_bg_2 » Thu Nov 20, 2008 1:31 pm

Code: Select all

if &#40;!isset&#40;$_POST&#91;'year'&#93;&#41; && isset&#40;$_POST&#91;'date2'&#93;&#41;&#41; &#123; 
тоя не видях да го затваряш :)

xto
Турист
Турист
Posts: 579
Joined: Tue May 30, 2006 1:35 pm

Post by xto » Thu Nov 20, 2008 1:37 pm

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/allmix/public_html/mixes/sort.php on line 261

вас ис дас :)

Replace

Post by Replace » Thu Nov 20, 2008 1:51 pm

Ти затваряш цикъла , но не и ИФ-а - затова така се получава.
Другата алтернатива , която би могъл да използваш е нещо от сорта на

Code: Select all

if &#40;isset&#40;$_POST&#91;'date2'&#93;&#41; && isset&#40;$_POST&#91;'date3'&#93;&#41;&#41; &#123;
$ifone = "date = '".$_POST&#91;'date2'&#93;."'";
$iftwo = "AND year = '".$_POST&#91;'date3'&#93;."'";
&#125;
if &#40;!isset&#40;$_POST&#91;'date2'&#93;&#41; && isset&#40;$_POST&#91;'date3'&#93;&#41;&#41; &#123;
$ifone = "";
$iftwo = "year = '".$_POST&#91;'date3'&#93;."'";
&#125;
// и така нататък с иф-овете
// и най-отдолу ти е заявката вече
$sql = mysql_query&#40;"SELECT * FROM tablicata WHERE $ifone $iftwo ORDER BY kakvoto_iskash LIMIT kolkoto_iskash"&#41;or die&#40;mysql_error&#40;&#41;&#41;;
while &#40;$row = mysql_fetch_array&#40;$sql&#41; &#123;
echo " $row&#91;ime&#93; $row&#91;reiting&#93; $row&#91;ne_znam_si_kakvo&#93; <br />";
&#125;
[/i]

П.П.

Code: Select all

 ?>
   <?=$name?>
<?
  &#125;
?>
Това е да не кажа безмислено , защо си играеш да отваряш и затваряш пхп тага.Погледни как се изкарва ехо в пхп ,
<?=$neshto; ?>
също се използва , но не и в твоя случай (т.е. няма нужда)

Post Reply