Toon posts:

[PHP] Gedeelte weglaten als resultaat hetzelfde is

Pagina: 1
Acties:

Verwijderd

Topicstarter
IK heb een scriptje geschreven die in mijn database kijkt of een nummer precies overeen komt met het opgevraagde nummer (mp3s)

door bv naar deze url te gaan:
http://www.mp3-drug.com/projectz/download?a=Gabrielle&s=Out Of Reach

kun je zien wat ik bedoel. Maar nu neemt ie in die Not 100% match ook de nummers mee die die vind in de wél 100% match, en dat is ook logisch, maar ik wil het eigenlijk niet. Hoe kan ik dit voorkomen?

Bvd!

Verwijderd

Topicstarter
NIemand?

Verwijderd

uit de faq:
Policy mbt het omhoogschoppen van threads. Wacht minstens 24 uur voor je je topic omhoog schopt. Doe dit dan ook alleen met een zinnige opmerking en dus niet met "Waarom antwoord er nou niemand" nadat je 5 minuten geen antwoord hebt gahd. Sommigen van ons hebben een leven

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

pcies, pak ff de rust en de handleiding erbij. Verder hoef je de URL er niet bij te vermelden (spam?).

Geef ook een snippet van je code want nu kunnen we er nog nix mee.

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Geen spam...ten eerste boeie mij die 10 bezoekers geen hol omdat de site nog niet open is, maar het is zo makkelijker te begrijpen wat ik bedoel... stukje code wil ik wel posten maar ik denk dat als je een kijkje genomen hebt dat je wel weet ik ik bedoel!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op vrijdag 12 oktober 2001 10:23 schreef DaWasIkNie het volgende:
Geen spam...ten eerste boeie mij die 10 bezoekers geen hol omdat de site nog niet open is, maar het is zo makkelijker te begrijpen wat ik bedoel... stukje code wil ik wel posten maar ik denk dat als je een kijkje genomen hebt dat je wel weet ik ik bedoel!
ik snap wat je bedoelt maar moet toch je code zien om je de juiste suggestie te geven (bv. http://www.php.net/manual/en/function.mysql-data-seek.php of http://www.php.net/manual/en/function.current.php)

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
ok dan...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?
                          $sql = "select * from mp3s where Artist = '$a' AND Song = '$s' ORDER BY Artist ASC LIMIT 0, 10";
                          $result = mysql_query($sql) or die (mysql_error());
                          $aantal = mysql_num_rows($result);
                          while ($row = mysql_fetch_object($result)) {

                          $artist = stripslashes($row->Artist);
                          $song = stripslashes($row->Song);

                          if ($aantal > 0)
                          {
                           echo "

                            <tr>
                              <td><a href=\"getsong?id=$row->id&amp;key=$row->verify\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                                $artist - $song</font></a></td>
                            </tr>       ";


                            }

                            else
                            {


                          echo "    <tr>
                              <td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                               No results have been found for a 100% match</font></a></td>
                            </tr>  ";

                            }
                            }
                            ?>
                          </table>
                        </td>
                      </tr>
                    </table>
                    <br>
                    <table width="395" border="0" cellspacing="0" cellpadding="0">
                      <tr valign="top">
                        <td height="2"  background="img/achternieuws.jpg">
                          <div align="left"><font size="2" face="Arial, Helvetica, sans-serif" color="666666"><b><i>Other alternatives</i> <font size=1 face=verdana color=black></b>(no 100% match)</b></font></div>
                        </td>
                      </tr>
                      <tr valign="top">
                        <td>
                          <table width="100%" border="0" cellspacing="0" cellpadding="0">
                         <?
                            $sql2 = "select * from mp3s where (soundex(Artist) = soundex('$a') OR soundex(Song) = soundex('$s')) ORDER BY Artist ASC LIMIT 0, 10";
                          $result2 = mysql_query($sql2)  or die (mysql_error());
                          $aantal2 = mysql_num_rows($result2);
                          while ($row2 = mysql_fetch_object($result2)) {


                          $artist2 = stripslashes($row2->Artist);
                          $song2 = stripslashes($row2->Song);



                          if ($aantal2 > 0)
                          {
                            echo "
                            <tr>
                              <td><a href=\"getsong?id=$row2->id>&amp;key=$row2->verify\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                                $artist2 - $song2</font></a></td>
                            </tr>       ";


                            }

                            else
                            {

                               echo "
                              <tr>
                              <td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                               No results have been found for a 100% match</font></a></td>
                            </tr>    ";

                            }
                            }
                            
?>

en bij $row2 moet ie dus niet echo'en wat ie bij $row al heeft uitgespuuwd zeg maar :)

edit by chem: php tags toegevoegd

  • Grum
  • Registratie: Juni 2001
  • Niet online
bij je 2e query gewoon als extra voorwaarde dat ie niet gelijk mag zijn :?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

je else-statement in een while stoppen -> dan wordt-ie nooit uitgevoerd :)

ten tweede: kan je geen group-by in die 2e query geven?

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Ja maar hoe....want artiest mag wel gelijk zijn, en dan moet song niet gelijk zijn, of song wel gelijk, maar artiest niet, hoe wou ik dat doen dan?

Verwijderd

Topicstarter
Op vrijdag 12 oktober 2001 10:48 schreef chem het volgende:
je else-statement in een while stoppen -> dan wordt-ie nooit uitgevoerd :)

ten tweede: kan je geen group-by in die 2e query geven?
Om eerlijk te zijn heb ik nog nooit een group-by gebruikt, hoe werk dat dan? :)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op vrijdag 12 oktober 2001 10:49 schreef DaWasIkNie het volgende:

[..]

Om eerlijk te zijn heb ik nog nooit een group-by gebruikt, hoe werk dat dan? :)
los eerst je if/else statement eens op :)

ten tweede, stel dat elke 'row' een id heeft (rowid) dan doe je dit:
code:
1
2
3
select *
from table
group by rowid;

zie een willekeurige SQL manual bij jouw in de buurt voor meer uitleg...

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Dat if/else statement gedoe valt niet op te lossen, ik kan de while niet afsluiten na de if dus niet


while blabla {
If blabla
{
}
}
else
{
}

dan krijg ik een error...
dus waar zou ik 'm dan moeten afsluiten, hier hebi k gister ook al een topic overgemaakt, en ik dacht dat het nug oed zat, maar hij print idd die else niet...

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

pseudo-code:
code:
1
2
3
4
5
6
if(er-zijn-0-resultaten) {
    toon 0 resultaten
}
while() {
    print resultaat
}

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Op vrijdag 12 oktober 2001 11:23 schreef chem het volgende:
pseudo-code:
code:
1
2
3
4
5
6
if(er-zijn-0-resultaten) {
    toon 0 resultaten
}
while() {
    print resultaat
}
Zo dus
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
   if ($aantal == 0)
                          {
                           echo "

                                       <tr>
                              <td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                               No results have been found for a 100% match</font></a></td>
                            </tr>  ";
                             }
                             else
                             {


                               while ($row = mysql_fetch_object($result)) {
                             echo "
                            <tr>
                              <td><a href=\"getsong?id=$row->id&amp;key=$row->verify\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                                $artist - $song</font></a></td>
                            </tr>       ";

                             }
                             }
?>

maar dan krijg ik weer een error op de laatste regel van de file (</html>)

dat betekent meestal dat er iets niet goed is met m'n if/else statements...maar ik kan de fout zo weer es niet ontdekken |:(

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op vrijdag 12 oktober 2001 11:23 schreef chem het volgende:
pseudo-code:
code:
1
2
3
4
5
6
if(er-zijn-0-resultaten) {
    toon 0 resultaten
}
while() {
    print resultaat
}
+ else { [while....] } ofniet ? :P

Verwijderd

Topicstarter
Op vrijdag 12 oktober 2001 11:51 schreef Grum_ het volgende:

[..]

+ else { [while....] } ofniet ? :P
Ja...maar dat heb ik hierboven dus gedaan, maar krijg ik dus nog die error

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op vrijdag 12 oktober 2001 10:48 schreef chem het volgende:
je else-statement in een while stoppen -> dan wordt-ie nooit uitgevoerd :)

ten tweede: kan je geen group-by in die 2e query geven?
group by heeft geen nut .. zo te zien heeft hij verschillende items (kijk naar het id waar ie heen linked) me dezelfde namen ...

gewoon in de query zeggen dat ie niet precies hetzelfde mag zijn is toch gewoon de oplossing ?
code:
1
2
3
4
5
6
7
8
9
10
11
SELECT 
  * 
FROM 
  mp3s 
WHERE 
  ( soundex(Artist) = soundex('$a') OR 
    soundex(Song) = soundex('$s')) 
  AND
  ( Song != '$s' || Artist != '$a')
ORDER BY Artist ASC 
LIMIT 0, 10

  • Grum
  • Registratie: Juni 2001
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
if ($aantal == 0)
{
   ?>
<tr>
   <td>
      <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
      No results have been found for a 100% match</font></a>
   </td>
</tr>
   <?
}
else
{
   while ($row = mysql_fetch_object($result)) 
   {
      ?>
<tr>
    <td>
        <a href="getsong?id=<?=$row->id?>&amp;key=<?=$row->verify?>">
        <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
        <?=$artist?> - <?=$song?></font></a>
    </td>
</tr>
      <?
   }
}
?>

ziet er toch goed uit ?

btw fetch_object is de sloomste uit het rijtje fetch mogelijkheden

Verwijderd

Topicstarter
Op vrijdag 12 oktober 2001 12:00 schreef Grum_ het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
if ($aantal == 0)
{
   ?>
<tr>
   <td>
      <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
      No results have been found for a 100% match</font></a>
   </td>
</tr>
   <?
}
else
{
   while ($row = mysql_fetch_object($result)) 
   {
      ?>
<tr>
    <td>
        <a href="getsong?id=<?=$row->id?>&amp;amp;key=<?=$row->verify?>">
        <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
        <?=$artist?> - <?=$song?></font></a>
    </td>
</tr>
      <?
   }
}
?>

ziet er toch goed uit ?

btw fetch_object is de sloomste uit het rijtje fetch mogelijkheden
Dit zou het inderdaad ook zo moeten doen...zoals jij t hierboven hebt, maar ga je hiereen:

http://www.mp3-drug.com/projectz/download?a=Klubbheads&S=Here We Go dan zie je dat je een error krijgt, en ik heb t er toch echt precies zo instaan, en al 5x op fouten gecontroleerd...ik snap er echt helemaal nix van!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op vrijdag 12 oktober 2001 11:51 schreef Grum_ het volgende:

[..]

+ else { [while....] } ofniet ? :P
nee, want de while wordt niet uitgevoerd als de if() statement geld :)

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
Tis al opgelost....bedankt allemaal! :)

het werkt

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op vrijdag 12 oktober 2001 12:19 schreef chem het volgende:

[..]

nee, want de while wordt niet uitgevoerd als de if() statement geld :)
ik hoop dat je daarop terug wilt komen als ik je code nog es geef :P
code:
1
2
3
4
5
6
7
if(er-zijn-0-resultaten) {
    toon 0 resultaten
    // NOTE: ik zie hier geen EXIT ? :P
}
while() {
    print resultaat
}

ben het wel met je eens dat wat IN de while loop staat niet word uit gevoerd .. maar de while + check zelf wel hoor :P (waste-o-cycles :+ )
Pagina: 1