Avatar billede well_r Nybegynder
22. maj 2001 - 16:24 Der er 28 kommentarer og
1 løsning

Alfabetet

Hej allesammen
Jeg vil gerne spørge om der er nogen af jer der kender et script der kan vise flere altfabeter af gangen.. lige nu kan jeg kun gøre sådan at den viser ét alfabet..mit script ser således ud - i må også gerne gøre sådan at det ikke er nogen forskel hvis bogstavet er stort .. eller lille.. :/



<?
$res2 = mysql_query(\"select * from $tabel where accept = \'ja\' AND forfatter = \'$alfa\' order by id desc\");

while($row = mysql_fetch_array($res2)) {
?>
<table width=\'100%\' border=\'0\' bordercolor=\'#000000\' cellpadding=\'3\' cellspacing=\'0\'>
  <tr valign=\"left\" >
    <td width=\"37%\" height=\"2\">
<?
$tone_link = \"<a href=\\\"$PHP_SELF?action=laes_forfatter&forfatter=$row[forfatter]\\\">$row[forfatter]</a>\";

print \"$tone_link\"; ?>
    </td>
    <td width=\"38%\" height=\"2\">
<?
$tone_link = \"<a href=\\\"$PHP_SELF?action=laes_tone&id=$row[id]\\\">$row[titel]</a>\";

print \"$tone_link\"; ?>
    </td>
    <td width=\"25%\" height=\"2\">
      <? print \"$row[hits]\"; ?>
    </td>
</tr>
</table><?
}
?>

alfa = det der kommer op i ADR. linien..altså something.php3?alfa=ABC eller lign
Avatar billede razor Nybegynder
22. maj 2001 - 16:27 #1
ehem.. findes der ikke kun et alfabet ?
Avatar billede well_r Nybegynder
22. maj 2001 - 16:28 #2
Jo
men jeg mener altså
jeg vil gerne vide hvordan jeg kan gøre således at det første bogstav i row[forfatter] kun bliver printet ud.. ikke at kun hvis den indeholder...
hvis du forstår..
Avatar billede well_r Nybegynder
22. maj 2001 - 16:30 #3
http://www.web-zone.dk/ringetoner/engelsk/eringetoner.asp

Du kan prøve at se her.. her er det i ASP (som jeg fatter MINUS af).. her kan man ved at skrive
http://www.web-zone.dk/ringetoner/engelsk/eringetoneralfa.asp?alfa=ABCD
eller bare
http://www.web-zone.dk/ringetoner/engelsk/eringetoneralfa.asp?alfa=A .. jo flere bogstaver.. jo flere resultater.. hvis du forstår?

Avatar billede bromer Nybegynder
22. maj 2001 - 16:32 #4
Hvad mener du? Jeg kan overhoved ikke følge, hvad det er du gerne vil have hjælp til. Flere alfabeter og sotering efter dem.. hvad mener du?
Avatar billede well_r Nybegynder
22. maj 2001 - 16:35 #5
Bromer.. se på det link jeg har givet.. og tryk på de forskellige bogstaver.. jeg mener.. altså..
HVIS man skriver ABC så skal den printe alle resultater ud der enten starter med A, b eller C... hvis man skriver A så skal den KUN printe A-resultaterne ud.. forstår du nu?
Avatar billede well_r Nybegynder
22. maj 2001 - 16:38 #6
Stadig ingen der forstår mig?
Avatar billede bromer Nybegynder
22. maj 2001 - 16:39 #7
Dough.. jeg forstå.. noget med

for ($i=1;$i<strlen($alfa);$i++) {
  $alfaArray[$i] = substr($alfa,$i,1);
}

Nu har du alle bogstaverne i et array. Derefter kører du arrayet igennem og danner en query ud fra det. Jeg ved ikke helt hvad du vil, men når du har bogstavnerne i et array vil det nok gøre det hele meget lettere...

/Rune
Avatar billede well_r Nybegynder
22. maj 2001 - 16:42 #8
Kan du ikke lige hjælpe lidt med de fejl jeg får?

http://www.web-zone.dk/script/php/jwringelink/index.php3
Avatar billede bromer Nybegynder
22. maj 2001 - 16:43 #9
Skal jo lige være et svar:

for ($i=1;$i<strlen($alfa);$i++) {
  $alfaArray[$i] = substr($alfa,$i,1);
}

$sql = \"SELECT * FROM table WHERE (forfatter = forfatter)
while(list($key,$val) = each($alfaArray)) {
  $sql .= \" AND(substring(forfatter,0,1) = \" . $val . \")\";
}

$sql .= \");\";
mysql_query($sql);
Avatar billede bromer Nybegynder
22. maj 2001 - 16:44 #10
Det kan godt være at der er nogle parse errors og mange andre grimme ting. Jeg er lige på vej ud af døren. Jeg håber du kan bruge det til noget. Hvis det ikke virker, og denne debat går i stå er du meget velkommen til at skrive til mig rb@u-c.dk.

Held og lykke.
/Rune
Avatar billede well_r Nybegynder
22. maj 2001 - 16:47 #11
Fatal error: Call to unsupported or undefined function substring() in ring.php3 on line 155

er substring ikke en globas var?
Avatar billede well_r Nybegynder
22. maj 2001 - 16:54 #12
Andre der kan hjælpe?
Avatar billede well_r Nybegynder
22. maj 2001 - 17:20 #13
Har du ikke ICQ eller MSN så kan vi chatte online.. istedet for mails osv.. :o)
Avatar billede alvion Nybegynder
22. maj 2001 - 17:22 #14
bromers var næsten rigtigt:


for ($i=1;$i<strlen($alfa);$i++) {
  $alfaArray[$i] = substr($alfa,$i,1);
}

$sql = \"SELECT * FROM table WHERE \";
$first = true;
while(list($key,$val) = each($alfaArray)) {
  if (!$first)
    $sql .= \" OR \";
  $first = false;
  $sql .= \" forfatter LIKE \'$val%\' \";
}

$res = mysql_query($sql) or die(mysql_error());
Avatar billede well_r Nybegynder
22. maj 2001 - 17:33 #15
Jeg får fejl:

Warning: Variable passed to each() is not an array or object in ring.php3 on line 155
You have an error in your SQL syntax near \'WHERE \' at line 1
Avatar billede well_r Nybegynder
22. maj 2001 - 17:36 #16
Jeg har selv lavet denne..men jeg får hele tiden fejl  ved \"if (substr($row[forfatter],0,1) = $alfa) {\"
Hvad er fejlen?
jeg kan nemlig ikke finde den.. - hvis jeg fjerner den linie så virker det fint... jeg får parse error!

if ($alfa){
$res = mysql_query(\"SELECT * FROM $tabel where accept = \'ja\' ORDER BY forfatter ASC\");

while ($row = mysql_fetch_array($res)){
if (substr($row[forfatter],0,1) = $alfa) {
print \"$row[titel] + $row[forfatter]\";}
}
}
Avatar billede alvion Nybegynder
22. maj 2001 - 18:14 #17
Det skal i hvert fald være 2 =\'er, altså == og anførselstegn om feltnavnet:

if (substr($row[\"forfatter\"],0,1) == $alfa) {
Avatar billede well_r Nybegynder
22. maj 2001 - 20:19 #18
ehm..har ikke tid lige nu..men er endnu ikke færdig og håber derfor at jeg også kan få hjælp i morgen?
Avatar billede erikjacobsen Ekspert
22. maj 2001 - 20:30 #19
Du laver bare den rigtigt SQL sætning (virker i hvertfald i Mysql);

$s=strtoupper($alfa).strtolower($alfa);

$res2 = mysql_query(\"select * from $tabel where accept = \'ja\' AND forfatter regexp \'^[$s]\' order by id desc\");
Avatar billede well_r Nybegynder
23. maj 2001 - 05:56 #20
Erik:
ehm..okay.. jeg fik det til at virke..tak for det.. men det virker vist kun hvis man har store og små bogstaver til. Ehm. men nu kommer jo problemet jeg længe har ville have opklaret (hvilket jeg også håber at jeg kan ved hjælp af jer)... hvordan kan jeg få flere bogstaver samtidigt?

http://www.web-zone.dk/script/php/jwringelink/index.php3?

Så kan i jo følge med..
Avatar billede erikjacobsen Ekspert
23. maj 2001 - 06:56 #21
Jamen, den tager da flere bogstaver samtidig. er $alfa f.eks. \"snyd\" vil forfattere,
der begynder med \"s\", \"n\", \"y\", og \"d\" komme med i resultatet.
Avatar billede erikjacobsen Ekspert
24. maj 2001 - 11:58 #22
Kan du bruge det?
Avatar billede well_r Nybegynder
24. maj 2001 - 12:02 #23
sorry..men det virkede ikke :(
Avatar billede well_r Nybegynder
24. maj 2001 - 12:04 #24
http://www.eksperten.dk/spm/75426
http://www.eksperten.dk/spm/75433

Men jeg er ved at lave det på en anden måde!
Avatar billede erikjacobsen Ekspert
24. maj 2001 - 12:45 #25
Jo det virker - ellers ville jeg ikke have skrevet.
Det er måske rigtigt at du ikke kan få det til at
virke. Når nu dette er den bedste måde at gøre det
på, hvad så om du gik lidt videre og fik det til at
virke evt. med min og andres hjælp?
Avatar billede well_r Nybegynder
24. maj 2001 - 12:48 #26
ehm..donno?
Avatar billede erikjacobsen Ekspert
24. maj 2001 - 13:02 #27
så luk spørgsmålet og glem det
Avatar billede well_r Nybegynder
24. maj 2001 - 14:57 #28
ehm..okay..
Avatar billede well_r Nybegynder
24. maj 2001 - 14:57 #29
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