08. marts 2007 - 16:40
Der er
29 kommentarer og 1 løsning
søg i en database.
jeg har siddet og kigget lidt på alle de søge'maskiner' der er lavet herinde, men kan ikke rigtig få det til at virke. den skal søge i én bestem database også er lige ligemeget med where osv, for den skal finde alt inden for den database. en som kan hjælpe?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
08. marts 2007 - 18:03
#1
Du kan ikke søge, uden du bruger WHERE. Hvis du vil have alt, så skal du bare bruge: SELECT * FROM tabel
08. marts 2007 - 18:19
#2
okay. men hvordan gør jeg så det?
08. marts 2007 - 18:40
#3
Du lave f.eks. en form: <form action="search.php" method="post"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG" name="submit"> </form> Og så din search.php side kan indeholde: //forbind til mysql $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM table WHERE field LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['field'] . "<br />"; } }
08. marts 2007 - 19:59
#4
får denne fejl: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/turistbornholm.dk/turistbornholm.dk/httpd.www/only/search.php on line 5 og min side ser sådan ud: <? include("sql.php"); $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM vaelger WHERE field LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['field'] . "<br />"; } } ?>
08. marts 2007 - 20:13
#5
Har du et felt der hedder: field ?? Det skal jo være feltet du vil søge i.
08. marts 2007 - 20:20
#6
sådan, nu virker det. men hvordan får man den kun til at vise, det man søger på, og ikke alt det andet.
08. marts 2007 - 20:31
#7
Det er netop derfor du har WHERE med. Den vil så kun vise det som matcher din søgning.
08. marts 2007 - 20:31
#8
08. marts 2007 - 20:36
#9
nej, den viser alle. har faktik lige fundet ud af den slet ikke søger, men den bare finder tabellen frem?
08. marts 2007 - 21:07
#10
Må jeg se din kode?
08. marts 2007 - 21:09
#11
<? include("sql.php"); $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM vaelger WHERE firma LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['firma'] . "<br />"; } } ?> <form action="?s=search" method="post"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG" name="submit"> </form>
08. marts 2007 - 21:13
#12
Hvordan ser din tabel ud?
09. marts 2007 - 07:45
#13
CREATE TABLE `vaelger` ( `id` int(11) NOT NULL auto_increment COMMENT 'Vælger', `gruppe` varchar(255) NOT NULL default '', `city` varchar(255) NOT NULL default '', `firma` longtext NOT NULL, `adr` longtext NOT NULL, `tel` longtext NOT NULL, `fax` longtext NOT NULL, `mail` longtext NOT NULL, `web` longtext NOT NULL, `pic` longtext NOT NULL, `beskrivelse` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
09. marts 2007 - 08:16
#14
Og hvordan kunne en række med data se ud?
09. marts 2007 - 11:41
#15
fx. Autoforum eller et eller andet firma?
09. marts 2007 - 12:29
#16
Hvad får du af resultat, hvis du bruger denne sql: SELECT * FROM vaelger WHERE firma LIKE '%auto%'
09. marts 2007 - 13:22
#17
nu virker det. men hvordan får jeg det så til at virke, så man kan søge?
09. marts 2007 - 15:17
#18
<? include("sql.php"); $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM vaelger WHERE firma LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['firma'] . "<br />"; } } ?> <form action="?s=search" method="post"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG" name="submit"> </form>
09. marts 2007 - 15:19
#19
Du skal lave det sådan her: <? if(isset($_POST['submit'])) { include("sql.php"); $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM vaelger WHERE firma LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['firma'] . "<br />"; } } } ?> <form action="?s=search" method="post"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG" name="submit"> </form>
10. marts 2007 - 06:56
#20
det virker ikke? den viser bare en blank side!
10. marts 2007 - 09:17
#21
Så er den der: <? //http://www.eksperten.dk/spm/766882 if(!empty($_GET['search'])) { require("sql.php"); $search = mysql_real_escape_string($_GET['search']); $query = mysql_query("SELECT * FROM vaelger WHERE firma LIKE '%".$search."%'"); if(mysql_num_rows($query)>0) { while($row = mysql_fetch_assoc($query)) { echo $row['firma'] . "<br />"; } } } ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="get"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG"> </form>
11. marts 2007 - 16:00
#22
det virker. har dog lige et problem, jeg køre mine sider via include($page); altså ?s=soeg også når jeg søger tror den jo det er en side, også laver den det om .. hvad skal jeg gøre?
11. marts 2007 - 21:06
#23
Så skal du rette: action="<?=$_SERVER['PHP_SELF'];?>" til: action="<?=$_SERVER['PHP_SELF'];?>?s=soeg"
12. marts 2007 - 11:05
#24
det virker ikke. den skriver bare ?search=auto og ikke siden.
12. marts 2007 - 11:53
#25
Så lav et hidden input felt: <input type="hidden" name="s" value="soeg">
12. marts 2007 - 12:04
#26
hvordan skal det så se ud?
12. marts 2007 - 12:44
#27
<form action="<?=$_SERVER['PHP_SELF'];?>" method="get"> <input type="hidden" name="s" value="soeg"> Søg: <input type="text" name="search"><br /> <input type="submit" value="SØG"> </form>
12. marts 2007 - 13:29
#28
så skete der noget :D smid et svar?
12. marts 2007 - 13:59
#29
Svar!
12. marts 2007 - 14:40
#30
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling