Avatar billede nyst Nybegynder
03. juni 2004 - 12:32 Der er 50 kommentarer og
1 løsning

søg i MySQL alt efter kategorier med begrænsninger

Hej jeg pusler med en udvidet søgning som ikke helt virker giver lige koden her:

søgefil:

<form class="formsoeg2" method="post"  action="../element/test_result2.php">
<select name="afd" style="width:100%" class="formsoeg2">
<option value=" " selected>Vælg nr. &raquo;</option>
<option value="020">020</option>
<option value="030">030</option>
<option value="040">040</option>
<option value="050">050</option>
<option value="060">060</option>
<option value="190">190</option>
<option value="070">070</option>
<option value="080">080</option>
<option value="090">090</option>
<option value="100">100</option>
<option value="110">110</option>
<option value="120">120</option>
<option value="130">130</option>
<option value="140">140</option>
<option value="150">150</option>
<option value="160">160</option>
<option value="170">170</option>
<option value="180">180</option>
</select>
Søgeord:<br>
<input type="text" name="search" size="11">
<input type="submit" style="font-size : 9px;" value="Søg">
</form>

---------------------------

resultatfil:

<html><head>
<title>søgeresultat</title>
</head><body>
<h3>Søgning</h3>
<h1>Resultat af din søgning</h1>
<?php
    mysql_connect("localhost","yyyy","xxxx");
if($search){   
    mysql_select_db("_db");
    $noResult = "<BR>Din søgning gav intet resultat.";   
    $query = mysql_query("SELECT * FROM sider WHERE (indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
    echo mysql_num_rows($query) . " resultater blev fundet og vist efter nr.<BR><BR>";
    while($row = mysql_fetch_array($query)){
        $id = $row["id"];
        $afd = $row["afd"];
        $afdeling = $row["afdeling"];
        $overskrift = $row["overskrift"];
        $filnavn = $row["filnavn"];
        $indhold = $row["indhold"];
        $indhold = strip_tags($indhold);
        echo ("$afdeling<BR>");
        echo ("<a href=/$filnavn>$overskrift</a><BR>");
        echo strlen($indhold) > 120 ? '<i>' .  substr($indhold, 0, 120) . '...</i>' : $indhold;
        echo ("<BR><BR>");
    }
if (!$id){
        print ("$noResult");
    }
mysql_close();
}
?>
<?php
include "test_search2.php";
?>               
</body></html>

---------------------------

1. problem

efter tilføjelse af:

OR (overskrift LIKE '%".addslashes($search)."%')

virker valg af nr. ikke mere - den søger i alt

2. problem

AND godkendt='ja'

her viser den alligevel de felter som har nej

1. ekstra ?

ville gerne oprette ekstra felt i DB med ekstra søgeord, således at hvis folk skriver et ord der ikke er i teksten, så kan jeg alligevel diregerer dem til rette side.
Det ville så kunne erstatte problem 1:
OR (overskrift LIKE '%".addslashes($search)."%')
da denne så ville være unødvendig

2. ekstra ?

det ekstra DB søgefelt skal så hente en stump tekst fra:
echo strlen($indhold) > 120 ? '<i>' .  substr($indhold, 0, 120) . '...</i>' : $indhold;
altså ikke fra det ekstra felt - lad os kalde det $ord

3. ekstra ?

når alt ovenfor virker ville jeg gerne udvide søgning til at omfatte en ekstra tabel - altså helt ny, men mere om det senere.

--------------

Ja, det var en del men kan nogle hjælpe!!!
Avatar billede dennismp Nybegynder
03. juni 2004 - 14:25 #1
1+2) prøv med:

"SELECT * FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%')) AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
Avatar billede nyst Nybegynder
03. juni 2004 - 14:51 #2
hej,
ja det virker nu med at søge i kategori og den afviser også nu dem som ikke har et ja i godkendt.

Så kan vi fortsætte...
Avatar billede dennismp Nybegynder
03. juni 2004 - 15:10 #3
Ektra-1:
Er det ikke bare at tage dit søgeordsfelt og bruge det istedet for "..overskrift LIKE '%..." ?

Ektra-2:

Er det samme søgefelt vi snakker om? I ekstra-1 skriver du at det indeholder ord der ikke er i teksten - her virker det som om (som jeg har forstået det) at det skal være 120 karakter af teksten? Har jeg misforstået noget?
Avatar billede nyst Nybegynder
03. juni 2004 - 15:23 #4
Jeg skal prøve at uddybe det.
Det er samme søgefelt.
Det ekstra felt $ord skal jeg bruge til ekstra ord, som enten ikke findes i $indhold eller som erstatning for stavefejl f.eks plastik, hvor der så i $ord står plastic osv.
Hvis der så søges på plastic, som ligger i $ord, så skal den vises resultat som hvis der søgtes på plastik, som ligger i $indhold.
Den skal så vise et vilkårligt udsnit af $indhold f.eks 120 karakterer, det kunne være de første 120 af $indhold og ikke omkring ordet, da det jo ikke findes i $indhold.
Endvidere skal der ikke opstå problemer hvis $ord er tomt.

Er det mere tydeligt eller....
Avatar billede dennismp Nybegynder
03. juni 2004 - 15:37 #5
Det virker for nemt :-)

"SELECT * FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') OR (ekstraord LIKE '%".addslashes($search)."%') AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");

$ord har jeg kaldt `ekstraord`

Mht til de første 120 karakter kan du;

SELECT left(indhold,121) as indhold FROM sider ..

og så

if( strlen($indhold) > 120 )
  $indhold = substr($indhold,0,-1) . '...'; // eller bare $indhold .= '...';
Avatar billede nyst Nybegynder
03. juni 2004 - 15:45 #6
Det første er jeg med på, men det sidste kan jeg skisme ikke lige overskue, hvor i kode indsætter jeg den næste SELECT og if

------------

    $noResult = "<BR>Din søgning gav intet resultat.";
    $query = mysql_query("SELECT * FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') OR (ord LIKE '%".addslashes($search)."%') AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
    echo mysql_num_rows($query) . " resultater blev fundet og vist efter nr.<BR><BR>";
    while($row = mysql_fetch_array($query)){
        $id = $row["id"];
        $afd = $row["afd"];
        $afdeling = $row["afdeling"];
        $overskrift = $row["overskrift"];
        $filnavn = $row["filnavn"];
        $indhold = $row["indhold"];
        $indhold = strip_tags($indhold);
        echo ("$afdeling<BR>");
        echo ("<a href=/$filnavn>$overskrift</a><BR>");
        echo strlen($indhold) > 120 ? '<i>' .  substr($indhold, 0, 120) . '...</i>' : $indhold;
        echo ("<BR><BR>");
    }
if (!$id){
        print ("$noResult");
    }
mysql_close();
}

-----------------------

gider du det ville være dejligt...
Avatar billede dennismp Nybegynder
03. juni 2004 - 16:26 #7
virker dette ikke efter hensigten?
        echo strlen($indhold) > 120 ? '<i>' .  substr($indhold, 0, 120) . '...</i>' : $indhold;

men her:
$query = mysql_query("SELECT left(indhold,121) as indhold, id, afd, afdeling, overskrift, filnavn FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') OR (ord LIKE '%".addslashes($search)."%') AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
Avatar billede nyst Nybegynder
04. juni 2004 - 10:18 #8
echo strlen($indhold) > 120 ? '<i>' .  substr($indhold, 0, 120) . '...</i>' : $indhold;

Jeg synes ikke den virker helt optimalt, den er ok når den henter fra $ord (fejlord), så viser den 120 tegn fra start af $indhold og dette skal den også hvis det findes i $overskrift.
Men jeg vil gerne have den til at vise 60 tegn på hver side af søgeordet i $indhold,
altså her ikke fra start af $indhold men nede i hvor søgeordet er.
Kan det sættes sammen på denne måde?

Den sidste du skrev: $query = mysql_query("SELECT left(indhold,121)gør den ikke det, at den kun søger i de første 120 tegn og ikke i hele indholdet - den selecter jo kun left(indhold,121)eller har jeg misforstået!!!
Never mind, det er nu det første afsnit jeg gerne ville have til at fungere optimalt.
:-)
Avatar billede nyst Nybegynder
04. juni 2004 - 10:57 #9
evt også hvor søgeordet skrive med <b>
Avatar billede dennismp Nybegynder
04. juni 2004 - 12:50 #10
Argh der røg min foklaring. Må skrive den igen :(

>Den sidste du skrev: $query = mysql_query("SELECT left(indhold,121)gør den ikke det, at den kun søger i de første 120 tegn og ikke i hele indholdet - den selecter jo kun left(indhold,121)eller har jeg misforstået!!!

Du har misforstået.

Det du selecter bliver først brugt når dine betingelser er opfyldt. Så betingelserne er ligeglad med hvad du selecter - så i eksemplet søges der i hele feltet.. Hvis vi skulle lave det sådan at den kun søger i de første 120 tegn så ville din where se sådan her ud:
WHERE ((substr(indhold,120) LIKE '% ...

men det er jo ikke det du ønsker. Det du selecter kommer først i sving når MySQL ved hvilke rækker der opfylder dine betingelser (i where-delen).

Men hvis du vil have den til at vise 60 tegn på begge sider skal du bare bruge SELECT * FROM .. ligesom i starten.. så har du hele feltet.. Så skal vi bare lave noget php-kode der kan vise den del der er interessant.

Jeg har et eksempel fra et andet spørgsmål: http://dennis.moellegaard.dk/v4/php/503845.php
Jeg går ud fra at det er samme måde det skal virke på..

Det ser nogenlunde sådan ud (du kan erstatte $term med $search og $text med $indhold.

<?php
$display = 60;

$pos = stripos($text,$term);
$beginpos = $pos - $display;
$endpos = $pos + $display + strlen($term);
if( $beginpos < 0 )
    $beginpos = 0;
if( $beginpos == 0 )
    $pre = '';
else
    $pre = '...';
if( $endpos >= strlen($text) )
    $post = '';
else
    $post = '...';
$text =  substr($text,$beginpos,($endpos-$beginpos+strlen($term)));
$term_preg = preg_quote($term);
$text = preg_replace("/($term_preg)/im",'<b>\1</b>',$text);

print $pre.$text.$post;
?>
Avatar billede nyst Nybegynder
07. juni 2004 - 11:21 #11
Hej igen,
jeg har prøvet at kombinere koden men får en fejl

kode:

    $noResult = "<BR>Din søgning gav intet resultat.<br><br>Prøv eventuelt igen med samme ord skrevet på en anden måde.";
    $query = mysql_query("SELECT * FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') OR (ord LIKE '%".addslashes($search)."%')) AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
    echo mysql_num_rows($query) . " resultater blev fundet og vist efter nr.<BR><BR>";
    while($row = mysql_fetch_array($query)){
        $id = $row["id"];
        $afd = $row["afd"];
        $afdeling = $row["afdeling"];
        $overskrift = $row["overskrift"];
        $filnavn = $row["filnavn"];
        $indhold = $row["indhold"];
        $indhold = strip_tags($indhold);
        echo ("$afdeling<BR>");
        echo ("<a href=/$filnavn>$overskrift</a><BR>");
       
$display = 60;

$pos = stripos($indhold,$search);
$beginpos = $pos - $display;
$endpos = $pos + $display + strlen($search);
if( $beginpos < 0 )
    $beginpos = 0;
if( $beginpos == 0 )
    $pre = '';
else
    $pre = '...';
if( $endpos >= strlen($indhold) )
    $post = '';
else
    $post = '...';
$indhold =  substr($indhold,$beginpos,($endpos-$beginpos+strlen($search)));
$search_preg = preg_quote($search);
$indhold = preg_replace("/($search_preg)/im",'<b>\1</b>',$indhold);

print $pre.$indhold.$post;

        echo ("<BR><BR>");
    }
if (!$id){
        print ("$noResult");
    }
mysql_close();
}

-----------------

fejl:

Fatal error: Call to undefined function: stripos() in
i linien
$pos = stripos($indhold,$search);

kan du se fejlen - stripos står ikke med fed tekst i min editor, kan det være det?
Avatar billede nyst Nybegynder
07. juni 2004 - 11:56 #12
har rettet stripos til strpos og det hjalp*S*
Avatar billede dennismp Nybegynder
07. juni 2004 - 12:05 #13
Så vil den ikke highligte hvis du søger på FOO og der står foo i teksten.

Tilføj dette til din kilde, så har du en stripos :)


if(! function_exists('stripos') ) {
    function stripos($haystack, $needle, $offset=0) {
        return strpos(strtolower($haystack), strtolower($needle), $offset);
    }
}
Avatar billede nyst Nybegynder
07. juni 2004 - 12:17 #14
Hej det virkede,
nu ser koden ud som følger - kan den optimeres eller er den ok?

kode:

<?php
    mysql_connect("localhost","dk","xx");
if($search){   
    mysql_select_db("_db");
    $noResult = "<BR>Din søgning gav intet resultat.<br><br>Prøv eventuelt igen med samme ord skrevet på en anden måde.";
    $query = mysql_query("SELECT * FROM sider WHERE ((indhold LIKE '%".addslashes($search)."%') OR (overskrift LIKE '%".addslashes($search)."%') OR (ord LIKE '%".addslashes($search)."%')) AND godkendt='ja' AND afd='".addslashes($afd)."' ORDER BY afdeling");
    echo mysql_num_rows($query) . " resultater blev fundet og vist efter nr.<BR><BR>";
    while($row = mysql_fetch_array($query)){
        $id = $row["id"];
        $afd = $row["afd"];
        $afdeling = $row["afdeling"];
        $overskrift = $row["overskrift"];
        $filnavn = $row["filnavn"];
        $indhold = $row["indhold"];
        $indhold = strip_tags($indhold);
        echo ("$afdeling<BR>");
        echo ("<a href=/$filnavn>$overskrift</a><BR>");
       
if(! function_exists('stripos') ) {
    function stripos($haystack, $needle, $offset=0) {
        return strpos(strtolower($haystack), strtolower($needle), $offset);
    }
}       
$display = 60;
$pos = stripos($indhold,$search);
$beginpos = $pos - $display;
$endpos = $pos + $display + strlen($search);
if( $beginpos < 0 )
    $beginpos = 0;
if( $beginpos == 0 )
    $pre = '';
else
    $pre = '...';
if( $endpos >= strlen($indhold) )
    $post = '';
else
    $post = '...';
$indhold =  substr($indhold,$beginpos,($endpos-$beginpos+strlen($search)));
$search_preg = preg_quote($search);
$indhold = preg_replace("/($search_preg)/im",'<b>\1</b>',$indhold);
print $pre.$indhold.$post;

        echo ("<BR><BR>");
    }
if (!$id){
        print ("$noResult");
    }
mysql_close();
}
?>

---------------------

hvis ja, så sidste, det store ? *S*
Avatar billede dennismp Nybegynder
07. juni 2004 - 12:39 #15
Udmiddelbart ser det fint ud. Det er nok mere databasen der skal ses på hvis du får performance problemer.. Men hvorfor ikke bare se om det overhovedet giver problemer - før du piller yderligerer :) .. De fleste får problemer med båndbredde før de får performance-problemer - så brug energien på noget andet, indtil du kan se at det er et problem / ved at blive et problem.

Jeg ville nok flytte denne klump kode ud af while-løkken.

f(! function_exists('stripos') ) {
    function stripos($haystack, $needle, $offset=0) {
        return strpos(strtolower($haystack), strtolower($needle), $offset);
    }
} 

Det den gør, er at hvis stripos ikke findes som funktion, så definerer vi een. Dette tjek behøver vi kun at gøre een gang. I mit eksempelkode placerede jeg den helt op i toppen.
Avatar billede nyst Nybegynder
07. juni 2004 - 12:45 #16
når du siger helt i top, er det så før if($search){    eller før    while($row = mysql_fetch_array($query)){
Avatar billede dennismp Nybegynder
07. juni 2004 - 12:51 #17
før if(..) er fin
Avatar billede nyst Nybegynder
07. juni 2004 - 13:02 #18
Hej det funker - 1000 tak for denne del - så er det om du er frisk på 3. ekstra?

Det handler om, at jeg gerne vil have nogle data i en anden tabel. dvs. at søgningen nu skal checke 2 tabeller og udskrive på samme måde, dog skal data fra tabel-2 nok vise færre tegn.

Jeg har nu 2 tabeller men har læst et sted at det ikke er smart at nogle af felterne hedder det samme i begge tabeller - hvis så, så skal jeg lige have oprettet en ny tabel-2.

Men kan det lade sige gøre at indflette tabel-2 i søgningen??? og hvis ja er der noget jeg fra start skal tage hensyn til udover evt feltnavn?

:-)
Avatar billede dennismp Nybegynder
07. juni 2004 - 13:10 #19
Lad os se på det :)

Det er ikke noget problem at to tabeller har samme feltnavne. Men hvis de er næsten ens (eller helt ens) så er det nok et tegn på at du bør overveje at slå dem sammen.

Hvilken MySQL version bruger du?

Og hvordan ser den anden tabel ud?
Avatar billede nyst Nybegynder
07. juni 2004 - 13:28 #20
Jeg kører med MySQL 3.23.52.

Den anden tabel har jeg behov for, idet det er en pristabel, hvor jeg pt bare har pristabellen liggende i tabel-1 i et felt i en <table>, så det er bedst at får den til at ligge for sig selv også men hensyn til rettelser.

Jeg er bare lidt i tvivl om hvordan jeg skal strukturere den, da feks filnavn osv skal gentages for hver pris af hensyn til linket i søgningen - der kan være optil 50 forskellige priser på en side, så det ville være smart hvis man kunne nøjes med at skrive alt andent en indhold og pris 1 gang, men det går vel ikke mht søgningen.

Lige nu ser den sådanne ud:

CREATE TABLE priser (
  id int(11) NOT NULL auto_increment,
  indeks tinytext NOT NULL,
  godkendt tinytext NOT NULL,
  filnavn tinytext NOT NULL,
  afd tinytext NOT NULL,
  list tinytext NOT NULL,
  afdeling tinytext NOT NULL,
  overskrift tinytext NOT NULL,
  indhold text NOT NULL,
  pris tinytext NOT NULL,
  dag tinytext NOT NULL,
  PRIMARY KEY  (id),
  FULLTEXT KEY tekst (indhold,pris)
) TYPE=MyISAM COMMENT='alle almindelige sider';

men det er kun indhold og pris der varierer for hver side.

Dvs. jeg skal måske have 10 sider hvor der er 3 til 50 forskellige prider på hver side.

Du må hellere spørge så skal jeg prøve at uddybe mere...
Avatar billede dennismp Nybegynder
07. juni 2004 - 13:38 #21
Hvilke felter skal der søges i?

indeholder "overskrift, indhold" det samme som den anden tabel?

Har de to tabeller nogen relation? (er de kædet sammen)
Avatar billede nyst Nybegynder
07. juni 2004 - 13:45 #22
felter: Der skal søges i $indhold og vises hele $indhold og så linkes til $filnavn.

indeholder: nej for det er meningen at det skal overførs som her i den nye tabel, altså den gamle prisside slettes fra tabel-1 - eller måske hvis bedre - kan det beholdes i tabel 1 og så kun indhold og pris i tabel 2, men så skal der jo kaldes 2 tabeller fra siderne...

... både ja og nej, jeg har lavet et lille rettesystem hvor indhold kan rettes i browser, men her er det ikke noget problem og nok det bedste at lave et rettesystem kun for priser - så faktisk nej der behøver ikke være relationer.
Avatar billede dennismp Nybegynder
07. juni 2004 - 14:15 #23
Hvis du havde brugt MySQL 4.x så kunne du have brugt UNION
SELECT .. FROM tabel1 .. WHERE ..
UNION
SELECT .. FROM tabel2 .. WHERE ..

Men det har du ikke (god nat og sov godt :))

Jeg tror det nemmeste vil være at lave to sql-statements og lade php vise dem som een.
Avatar billede nyst Nybegynder
07. juni 2004 - 14:22 #24
Ja - tak for sangen *G*

Det lød eller rigtigt nemt, det første...

Mener du så kalde databasen og så lave en

$query = mysql_query("SELECT * FROM sider osv

$query = mysql_query("SELECT * FROM priser osv

eller skal alle koder gentages
Avatar billede dennismp Nybegynder
07. juni 2004 - 14:26 #25
Når du skal vise de rækker fra sider/priser.. Skal de så sorteres i samme liste? (så man ikke kan se forskel)
Avatar billede nyst Nybegynder
07. juni 2004 - 14:40 #26
ja efter $afd som er et 3cifret nr der er ens for alle sider vedr den afdeling
Avatar billede dennismp Nybegynder
07. juni 2004 - 15:03 #27
Hmm prøv at vis (bare med tekst) hvordan det skal vises til brugeren.
Avatar billede nyst Nybegynder
07. juni 2004 - 15:46 #28
Afdeling
Overskrift >> som link
Indhold >> bla bla bla <b>søgeord</b> bla bla bla

Afdeling
Overskrift >> som link
Indhold >> bla bla bla <b>søgeord</b> bla bla bla

Afdeling
Overskrift >> som link
Indhold >> bla bla bla <b>søgeord</b> bla bla bla

Afdeling >> fra tabel-2
Overskrift >> som link
Indhold >> hele indhold med<b>søgeord</b> (dvs. $pris skal ikke vises)

Afdeling >> så igen tabel-1 hvis søgeordet findes i denne rækkefølge
Overskrift >> som link
Indhold >> bla bla bla <b>søgeord</b> bla bla bla

Afdeling
Overskrift >> som link
Indhold >> bla bla bla <b>søgeord</b> bla bla bla

osv osv

Kan det bruges?
Avatar billede dennismp Nybegynder
07. juni 2004 - 15:50 #29
Hvad hvis den finder flere der matcher under een afdeling? (kan det ske?)
Avatar billede nyst Nybegynder
07. juni 2004 - 16:14 #30
ups ja, der fik du fat i noget og det kan sagtens ske men så skal den tage efter $indeks som der er et felt der hedder i begge tabeller.

:-)
Avatar billede dennismp Nybegynder
07. juni 2004 - 16:24 #31
Jeg ville nok lave et array med hele skidtet i.. Hvordan har du det med arrays? :) Og dobbelt arrays
Avatar billede nyst Nybegynder
07. juni 2004 - 16:25 #32
et går nok an, men dobbelt *SS*
Avatar billede dennismp Nybegynder
07. juni 2004 - 16:38 #33
jeg ville nok lave et $result array

hvor

$result['afdeling a'] = array( de rækker med 'afdeling a');

og så sorterer på dette og løbe det afsnitningsvis igennem

$result = array();
$query = mysql_query...

while($row = mysql_fetch_array($query)){
  if(! isset($result[$row['afd']]) )  // hvis det er først gang vi ser afd
    $result[$row['afd']] = array();

  $result[$row['afd']] = $row;
}

det gør du for begge arrays. Hvis du ikke helt forstår strukturen i $result, så kan du altid bruge:
print "<pre>";print_r($result);print"</pre>";

det giver indimellem lidt hjælp at se det visuelt.
Avatar billede nyst Nybegynder
07. juni 2004 - 16:44 #34
mener du lave det for hver

<option value="020">020</option>
<option value="030">030</option>
<option value="040">040</option>
<option value="050">050</option>
<option value="060">060</option>
<option value="190">190</option>
<option value="070">070</option>
<option value="080">080</option>
<option value="090">090</option>
<option value="100">100</option>
<option value="110">110</option>
<option value="120">120</option>
<option value="130">130</option>
<option value="140">140</option>
<option value="150">150</option>
<option value="160">160</option>
<option value="170">170</option>
<option value="180">180</option>

og så også for tabel-2
men hvis ja så kan jeg ikke se hvordan og hvor jeg indfletter de 2 tabeller?
Avatar billede dennismp Nybegynder
07. juni 2004 - 16:47 #35
Der er noget jeg ikke helt forstår. Er afd og afdeling to forskellige ting? Hvor man søger på een afd men kan få flere afdleinger?
Avatar billede nyst Nybegynder
07. juni 2004 - 16:47 #36
jeg må smutte nu men er her igen i morgen - det snurrer lidt rundt i hovedet pt *G*

Jeg tænker måske mere konstruktivt når de grå har slappet lidt af, men tak for din hjælp og håber vi 'mødes' i morgen - ha' en go' aften *S*
Avatar billede nyst Nybegynder
07. juni 2004 - 16:51 #37
både og $afd er en talkode (den i value) mens $afdeling er bogstaver men ens for alle hvor f.eks $afd er lig 030
Avatar billede nyst Nybegynder
07. juni 2004 - 16:56 #38
$afd er for at der ikke skal stå formeget i value, idet $afdeling kan være mange tegn og med æøå, men jeg mener jeg bruger den andets sted også kan bare ikke lige se det
Avatar billede nyst Nybegynder
07. juni 2004 - 16:57 #39
nej hvis du søger på en afd får du kun en afdeling
Avatar billede dennismp Nybegynder
07. juni 2004 - 16:58 #40
Vil man ikke altid så kun få resultater for een afdeling?
Avatar billede dennismp Nybegynder
07. juni 2004 - 16:59 #41
Aha - så man kan, men ikke nødvendigvis skal, angive en afdeling?
Avatar billede nyst Nybegynder
07. juni 2004 - 17:01 #42
jeg bruger så $indeks så denne er $afd + 3tal feks afd 090030 er så side 3 i afd 090 og hvor jeg så har ydeligere mulighed for under sider til side 3 nemlig 090031,31,33 osv. *S*

$indeks er istedet for $id da denne bare gives i rækkefølge som siderne oprettes og det kan jeg ikke bruge når jeg sorterer.
Avatar billede nyst Nybegynder
07. juni 2004 - 17:03 #43
du er skimse skarpsindig - jo det er fordi denne er udvidet søg og jeg har en søg som viser alle sider *S*
Avatar billede dennismp Nybegynder
07. juni 2004 - 17:04 #44
Hvsi ejg fik fat i din kode + database struktur samt lidt prøve data. Så kunne jeg komme med et forslag der er mere konkret. Så kan vi måske bruge tiden bedre på finde en løsning og så gennemgå det, så du er med på hvad dit script så gør..

Det kommer lidt an på hvordan de bedst arbejeder :).

Forsat god aften :)
Avatar billede nyst Nybegynder
07. juni 2004 - 17:04 #45
jo i udvidet søg SKAL du vælge afd
Avatar billede nyst Nybegynder
07. juni 2004 - 17:05 #46
ok vender tilbage også god aften til dig*S*
Avatar billede nyst Nybegynder
02. december 2004 - 13:33 #47
hej dennismp,

jeg har ikke helt haft overskud til at genneskue det endnu, men vil hellere for god ordens skyld have du smider et svar så du kan få dine points, så må jeg kontakte dig på andet tidspunkt*S*

:-)
Avatar billede dennismp Nybegynder
02. december 2004 - 13:40 #48
ok :)
Avatar billede nyst Nybegynder
02. december 2004 - 14:01 #49
Hejsa, du får dem nu

og kunne jeg få dig til at se på

http://www.eksperten.dk/spm/567248

det virker som om ingen kan finde løsningen???

Ellers tak for din hjælp

:-)
Avatar billede dennismp Nybegynder
02. december 2004 - 14:12 #50
Ser på det når jeg kommer hjem herfra (omkring spisetid) - så har folk også lidt mere tid til at hjælpe dig :)
Avatar billede nyst Nybegynder
02. december 2004 - 14:31 #51
takker det vil være en stor hjælp *S*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester