[sql/php] if clause in query :)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit klinkt vast heel dom, maar kan je 1 of andere if clause in een SQL query zetten?

Ik wil nl:
Als bijv:

select * from tabel where bla='bla'
niets oplevert:

select * from tabel where bla like '%bla%'

Of moet je eerst de query uitvoeren, kijken of hij wat vind, zo nee, nog een query uitvoeren?

Acties:
  • 0 Henk 'm!

Verwijderd

Yep! :)

Acties:
  • 0 Henk 'm!

Verwijderd

Ja dat kan.

zie mysql_result() in de php handleiding:

returns true en false enz.

http://www.php.net/manual/en/function.mysql-query.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja, alleen als de query fout is, niet als hij geen records kan vinden toch?

dus met mysql_num_rows() :)

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 20 juni 2001 14:41 schreef xZjP het volgende:
select * from tabel where bla='bla'
niets oplevert:

select * from tabel where bla like '%bla%'
Zoek even naar het maken van function's...
In postgresql/oracle kan daar makkelijk mee... Mysql moet ook wel kunnen denk ik.

Acties:
  • 0 Henk 'm!

Verwijderd

Het kan ook in gewoon PHP:
code:
1
2
3
4
5
6
7
8
9
10
defenitie var sql1
defenitie var sql2

als query var sql1 true retuned
resultaten van sql1 query
anders 
als query var sql2 true retuned
resultaten van sql2 query
anders
resultaten bij beide query geen resultaat

Maak hier een mooie function van, dus in php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
function ShowResultsIfAny($sql1, $sql2) {
$result = mysql_query($sql1);
if($result) {
//fetch zooi, en mooi resultaten showen
} else {
unset($result);
$result = mysql_query($sql2);
if($result) {
//fetch zooi, en mooi resultaten showen
} else {
echo "sorry, maar voor de query was geen resultaat in de database";
}
}
}
?>

ofzo...

Nogmaals, kijk eens in de manual... :o

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb echt ZOOOON gruwelijke hekel aan de mysql manual :)

en in die van php ken ik het wel, denk ik.
Ff aan de slag dan maar :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja, en een /n achter elke regel zou wel makkelijk zijn (GoT) schript.

CTRL C + CTL V krijg ik 1 grote regel :(

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik krijg trouwens wel 2 columns, maar in die colums staat 2x hetzelfde!

Logisch ook, want de cursor voor mysql_query() is hetzelfde.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb nu onderstaande code.
Wat ik nu krijg, bij een onenven aantal results, is dat hij op de 1e rij van de 2e kolom hetzelfde plaatst als de laatste rij van de 1e kolom.

Ik snap niet helemaal wat ik moet doen met die %2, om dit op te lossen.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
require("../inc/mysql.inc.php");
$sql = "SELECT * FROM cats ORDER BY catNaam limit 11";
$result = mysql_query($sql);
$totaal = mysql_num_rows($result);
$helft = $totaal/2;

for($teller=0;$teller<$helft;$teller++)
{  

$getal = mysql_result($result, $teller, "catNaam"); 
if($teller*2<=$totaal) {
$getal2 = mysql_result($result, $teller+$helft, "catNaam"); }
else { $getal2="&amp;amp;amp;amp;amp;nbsp;"; }

echo "<tr><td>$getal</td><td>$getal2</td></tr>";

}
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jezus is zit in de verkeerde topic te posten :(

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 21 juni 2001 11:10 schreef xZjP het volgende:
Op donderdag 21 juni 2001 11:12 schreef xZjP het volgende:
(
Op donderdag 21 juni 2001 11:16 schreef xZjP het volgende:
() is hetzelfde.
Op donderdag 21 juni 2001 11:19 schreef xZjP het volgende:
Volgende keer, graag even de edit knop gebruiken...

voor ctrl+c-ctrl+v moet je niet bij GoT maar je browser zijn, wat je beter kan doen, is op edit-post klikken en daar uit, de code koperieren...
Pagina: 1