Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 11:48:46 - Sebastian Aguilera, i forum php, Tråden har 17 Kommentarer och lästs av 757 personer

Hej!

Fick hjälp här av Per Persson för att få till en bra sökfunktion, det fick jag, den blev skitbra!

Nu har den helt plötsligt lagt av och visar alltid alla annonser, oberoende av sökkriterier.
Vad kan ha flippat ut?

[code: PHP]

if ($_POST['submitsearch'])
{
//Koppla upp mot MySQL
$dbh=mysql_connect ("", "", "") or die ('cannot connect to database because: ' . mysql_error());
mysql_select_db ("databas");

$alla_fält = array('Annonstyp', 'Lan', 'Annonsor', 'Kategori', 'Annonstext');
$where = array();
foreach($alla_fält as $fält)
{
if(!empty($_POST[$fält]))
{
$value = mysql_escape_string($_POST[$fält]);
$where[] = "$fält = '$value'";
}
}

if(count($where) > 0)
{
$where = 'WHERE ' . implode(' AND ', $where);
}
else
{
$where = '';
}
$query = "SELECT Annonsnummer, Datum, Rubrik, Kategori, Lan, Annonsor FROM annons $where ORDER BY Datum DESC";

$result = mysql_query($query) or die('Kunde inte söka annonser:<br>'.mysql_error());
$soktraffar = MYSQL_AFFECTED_ROWS();

if ($soktraffar == 0)
{
echo '<B>Hittade inga annonser som motsvarar din sökning...</B>';
}
else
{
echo 'Sökträffar: 1-'.$soktraffar.' av '.$soktraffar.';
//Hämta datan från databasen och skriva ut den
$result = mysql_query($query) or die ("Kunde inte hämta data ".mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo $row['Datum'];
echo '<a class="soktraff" href="index.php?link=visatraff&id='.$row['Rubrik'].'" target="_new">'.$row['Rubrik'].'</a>';
osv...
}
}
}
[/code]

Var i koden är det mest troligt att något avlidit?

MVH
/Sebastian


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 12:37:02 - Per Persson

Har du kollat så att information finns kvar i databasen, att ingen har lyckats tömma den genom något säkerhetshåll (SQL injection)?


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 12:53:02 - Sebastian Aguilera

Hej!

Allt finns kvar i databasen, struktur och innehåll stämmer... Även om jag väljer något alternativ bland sökkriterierna så kommer alla sökresultat fram...


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 13:03:52 - Per Persson

Kan du lägga in utskrift av några variabler så att man ser hur de ser ut:

echo '<pre>';
print_r($_POST);
echo '</pre>';

echo $query;


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 18:46:01 - Sebastian Aguilera

Det verkar som att POST-variablerna fylls men att where satsen ej byggs...

Detta är vad som visas:
Vid "tom" sökning:

Array
(
    [annonstext] => 
    [annonstyp] => Finnes
    [lan] => 
    [kategori] => 
    [annonsor] => Alla
    [submitsearch] => Sök
)

SELECT Annonsnummer, Datum, Rubrik, Kategori, Lan, Annonsor FROM annons ORDER BY Datum DESC

Vid valda sökkriterier:
Array
(
    [annonstext] => 
    [annonstyp] => Finnes
    [lan] => Halland
    [kategori] => Ekonomi, Finans
    [annonsor] => Företag
    [submitsearch] => Sök
)

SELECT Annonsnummer, Datum, Rubrik, Kategori, Lan, Annonsor FROM annons ORDER BY Datum DESC


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 19:58:19 - Per Persson

Anledningen till problemet torde vara att inputfältens namn plötsligt har fått gemena begynnelsebokstäver; tidigare var de versala:

$alla_fält = array('Annonstyp', 'Lan', 'Annonsor', 'Kategori', 'Annonstext');

<code>(
[annonstext] =>
[annonstyp] => Finnes
[lan] =>
[kategori] =>
[annonsor] => Alla
[submitsearch] => Sök
)</code>

Enklast är nog att ändra i PHP-koden till
$alla_fält = array('annonstyp', 'lan', 'annonsor', 'kategori', 'annonstext');


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 21:08:52 - Sebastian Aguilera

Hej!

När jag ändrar dom så får jag inga träffar alls på någonting. I databasen har jag versal begynnelsebokstav så det kanske är därför det inte blir någon träff alls... Ska jag ändra till gemener i databasen tror du?


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-11 22:15:42 - Per Persson

Se till att det stämmer överens på alla tre ställena. Vad som används för tabellerna brukar emellertid inte ha någon betydelse.


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 08:51:48 - Sebastian Aguilera

Det skumma är att om jag har samma på alla ställen(versal begynnelsebokstav) så får jag samma fel som tidigare, den hittar inga annonser oavsett vad jag väljer....

Superskumt!

Det bästa alternativet är att ha små bokstäver överallt, för då blir det alla träffar, alltid...

Hur f*n ska jag göra... Håller på att bli tokig!


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 11:29:59 - Per Persson

Pröva att byta ut
$soktraffar = MYSQL_AFFECTED_ROWS();
mot
$soktraffar = mysql_num_rows($result);

Du behöver för övrigt inte köra om satsen i else-grenen som du gör:
$result = mysql_query($query) or die ("Kunde inte hämta data ".mysql_error());


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 12:49:36 - Sebastian Aguilera

Problemet kvarstår...

Dock så är koden mer effektiv kan jag tänka! Tack för tipset!


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 13:56:12 - Per Persson

Hur ser $alla_fält, $_POST och SQL-satsen nu när du prövar?


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 14:24:47 - Sebastian Aguilera

Så här ser allt ut:

$alla_fält:

Array
(
    [0] => Annonstyp
    [1] => Lan
    [2] => Annonsor
    [3] => Kategori
    [4] => Annonstext
)


"Tom sökning"
Array
(
    [annonstext] => 
    [annonstyp] => Finnes
    [lan] => 
    [kategori] => 
    [annonsor] => Alla
    [submitsearch] => Sök
)

SELECT Annonsnummer, Datum, Rubrik, Kategori, Lan, Annonsor FROM annons ORDER BY Datum DESC


Vid inmatning av vissa sökkriterier:
Array
(
    [annonstext] => 
    [annonstyp] => Finnes
    [lan] => Jönköping
    [kategori] => Bygg, Anläggning
    [annonsor] => Alla
    [submitsearch] => Sök
)

SELECT Annonsnummer, Datum, Rubrik, Kategori, Lan, Annonsor FROM annons ORDER BY Datum DESC


...


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 15:14:50 - Per Persson

I $alla_fält har fältnamnen versal initial (ex. 'Annonstyp'), men i ditt formulär gemen ('annonstyp'). Du ändrar nog enklast till gemener i $alla_fält:
$alla_fält = array('annonstyp', 'lan', 'annonsor', 'kategori', 'annonstext');


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 15:19:38 - Sebastian Aguilera

Det har jag försökt med tidigare. Det som händer då är jag inte får någon sökträff alls, även om jag gör en tom sökning...


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 16:00:28 - Per Persson

Du måste hur som helst ha samma på båda ställena, annars finns ingen chans att det fungerar.

Hur ser SQL-satsen ut efter att du fixat det?


Svara

Sv:Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 16:13:21 - Sebastian Aguilera

Nu fick jag ordning på den!

Tack för all hjälp!


Svara

Sv: Hjälp! Varför har min sökfunktion lagt av igen..?

Postades av 2005-10-12 19:33:07 - Per Persson

Vad berodde det på?


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 872
27 965
271 770
780
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies