07. juli 2005 - 14:19Der er
5 kommentarer og 1 løsning
hvilket felt sker udtrækket fra
Hej
Jeg har en søgning hvor der søges i flere forskellige felter, kan man på nogen måde bestemme feltnavnet på det felt hvor søgningen "har succes"?
$sql = "SELECT * FROM elevdata where dansk like '$_POST[hold]%' or matematik like '$_POST[hold]%' or engelsk like '$_POST[hold]%' or tysk like '$_POST[hold]%' or fysik like '$_POST[hold]%' order BY navn" or die( mysql_error() ); $qh = mysql_query( $sql ) or die( mysql_error() ); while ( $row = mysql_fetch_array( $qh ) ) {
Det lyder som en ret mærkelig db-struktur, men du kan godt via forholdsvis ikke så kønne ting lave det - for eksempel med if's:
$sql = " SELECT *, IF (dansk LIKE '$_POST[hold]%', 'dansk', IF(matematik like '$_POST[hold]%', 'matematik', IF (engelsk like '$_POST[hold]%', 'engelsk', IF (tysk like '$_POST[hold]%', 'tysk', 'fysik' ) ) ) ) AS fag FROM elevdata WHERE dansk like '$_POST[hold]%' or matematik like '$_POST[hold]%' or engelsk like '$_POST[hold]%' or tysk like '$_POST[hold]%' or fysik like '$_POST[hold]%' ORDER BY navn ";
For eksempel - så kan du inden i din while tjekke værdien af $row['fag'], som vil være det (første) fag, der er magen til det søgte.
Men en anden db-struktur havde nu været mere oplagt - hvor fag-tilhørsforhold lå i en anden tabel med en mange-til-en-relation til elev-tabellen.
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.