Avatar billede Fiber Bjørn Juniormester
19. oktober 2009 - 23:36 Der er 4 kommentarer og
1 løsning

Rette tekst fra DB til ny tekst

Dette virker fin nok. Men jeg vil gerne have hold1 skal ændres fra f.eks
bramming til Bramming
eller f.eks
olgod til Ølgod

jeg har forsøg mig lidt frem men er ikke kommet til noget resultat der virker.

Altså hold1 hentes
hvis hold1 er = bramming skal det ændres til Bramming
eller hvis hold1 er = olgod skal det ændres til Ølgod
eller hvis hold1 er = esbjerg skal det ændres til Esbjerg
Ovs.

<?
                        $limit = 45;
                        if($subpageId==2){$limit = 9999;}
                        $query = mysql_query("SELECT * , DATE_FORMAT(opvdato, '%d.%m %Y') AS nyopvdato FROM event WHERE (offenlig = 'Ja') AND (opvdato >= NOW()) ORDER BY opvdato LIMIT $limit");
                        while($getter = mysql_fetch_array($query)){
        if ($getter[hold1] == ''){
            $hold_ud = "<tr>
                      <td width='80' valign='top'><span class='main_tekst'>".$getter[hold]."</span></td>
                      <td width='150' valign='top'></td>
                      <td width='270' valign='top'></td>
                      </tr>";
        } else {
            $hold_ud = "<tr>
                      <td width='80' valign='top'><span class='main_tekst'>".$getter[hold1]."</span></td>
                      <td width='150' valign='top'></td>
                      <td width='270' valign='top'></td>
                      </tr>";
        }

                       
                        ?>
                  <table class="padding_bottom_5px" cellspacing="0" cellpadding="0">
                  <? print $hold_ud ?>
                    <tr>
                      <td width="80" valign="top"><? echo"<span class='main_tekst'>$getter[nyopvdato] </span>"; ?></td>
                      <td width="150" valign="top"><? echo"<span class='main_tekst'>$getter[sted]</span>"; ?></td>
                      <td width="270" valign="top"><? echo"<span class='main_tekst'>$getter[tekst]</span>"; ?></td>
                    </tr>
                  </table>
                  <?
                        }
                        ?>
Avatar billede repox Seniormester
20. oktober 2009 - 12:16 #1
<?
                                                $search = array("bramming", "olgod", "esbjerg");
                                                $replace = array("Bramming", "Ølgod", "Esbjerg");
                        $limit = 45;
                        if($subpageId==2){$limit = 9999;}
                        $query = mysql_query("SELECT * , DATE_FORMAT(opvdato, '%d.%m %Y') AS nyopvdato FROM event WHERE (offenlig = 'Ja') AND (opvdato >= NOW()) ORDER BY opvdato LIMIT $limit");
                        while($getter = mysql_fetch_array($query)){
        if ($getter["hold1"] == ''){
            $hold_ud = "<tr>
                      <td width='80' valign='top'><span class='main_tekst'>".$getter["hold"]."</span></td>
                      <td width='150' valign='top'></td>
                      <td width='270' valign='top'></td>
                      </tr>";
        } else {
            $hold_ud = "<tr>
                      <td width='80' valign='top'><span class='main_tekst'>".str_replace($search, $replace, $getter["hold1"])."</span></td>
                      <td width='150' valign='top'></td>
                      <td width='270' valign='top'></td>
                      </tr>";
        }

                     
                        ?>
                  <table class="padding_bottom_5px" cellspacing="0" cellpadding="0">
                  <? print $hold_ud ?>
                    <tr>
                      <td width="80" valign="top"><? echo"<span class='main_tekst'>$getter[nyopvdato] </span>"; ?></td>
                      <td width="150" valign="top"><? echo"<span class='main_tekst'>$getter[sted]</span>"; ?></td>
                      <td width="270" valign="top"><? echo"<span class='main_tekst'>$getter[tekst]</span>"; ?></td>
                    </tr>
                  </table>
                  <?
                        }
                        ?>
20. oktober 2009 - 12:49 #2
Det er ikke mange svar du har faaet endnu.  Jeg vil proeve om jeg kan finde ud af noget (men jeg lover ikke at det lykkes.)  Foerst maa jeg lige forstaa opgaven.

Du har en tabel "events" hvor der staar to navne paa to hold (i felterne "hold" og "hold1") og stednavne (i feltet sted.)  Alle holdnavne og stednavne der begynder med lille vil du have til at begynde med stort og hvis et holdnavn eller stednavn begynder med ae, oe, eller aa vil du have de tilsvarende danske bogstaver (som jeg ikke kan skrive paa min komputer.) 

Det kan formodenligt lade sig goere.  Hvis du gaar videre og ogsaa vil have rettet ae, oe, og aa inde i et navn (for eksempel "Soroe" eller "Kirke Aaby" eller vil have rettet stavningen i tekstfeltet saa bliver det svaerere, og hvad goer man saa met ord som "poet".

Fortel mig om jeg har forstaaet dig rigtigt.
Avatar billede Fiber Bjørn Juniormester
20. oktober 2009 - 19:47 #3
repox lige hvad jeg skulle bruge - Læg et svar

Christian_Belgien jeg tror dette bliver en for omstændig rettelse, som du selv antyder. men tak for overvejelsen.

Her ligger det tilrettet som jeg kunne bruge det.

<?
$search = array("bramming", "esbjerg", "oksbol", "vejen", "olgod", "mini_mix", "mini_junior", "plukholdet", "repholdet", "aspirantholdet", "traningsholdet");
                                                $replace = array("Bramming Juniorhold", "Esbjerg Juniorhold", "Oksbøl Juniorhold", "Vejen Juniorhold", "Ølgod Juniorhold", "Mini Mix", "Mini Junior", "Plukholdet", "Rep Holdet", "Aspirantholdet", "Træningsholdet 25 +");

                        $limit = 999;
                        if($subpageId==2){$limit = 9999;}
                        $query = mysql_query("SELECT * , DATE_FORMAT(opvdato, '%d.%m %Y') AS nyopvdato FROM event WHERE (offenlig = 'Ja') AND (opvdato >= NOW()) ORDER BY opvdato LIMIT $limit");
                        while($getter = mysql_fetch_array($query)){

        if ($getter[hold1] == ''){
            $hold_ud = $getter[hold];
        } else {
            $hold_ud = $getter[hold1];
        }

                       
                        ?>
                  <table cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="100%" valign="top"><? echo"<span class='main_tekst_org'>".str_replace($search, $replace, $hold_ud).""; ?></td>
                    </tr>
                  </table>
                  <table class="padding_bottom_5px" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="80" valign="top"><? echo"<span class='main_tekst'>$getter[nyopvdato] </span>"; ?></td>
                      <td width="150" valign="top"><? echo"<span class='main_tekst'>$getter[sted]</span>"; ?></td>
                      <td width="270" valign="top"><? echo"<span class='main_tekst'>$getter[tekst]</span>"; ?></td>
                    </tr>
                  </table>
                  <?
                        }
Avatar billede repox Seniormester
20. oktober 2009 - 19:54 #4
Du fik et svar her.
20. oktober 2009 - 20:07 #5
Repox svarede mens jeg udarbejdede mit svar.  Det var derfor jeg sagde at det var ikke mange svar du havde faaet.

Min situation er at jeg er ved at laere mig selv php, og jeg bruger spoergsmaalene her paa experten som anledning til at finde svarene og derved laere mere.

Det er lykkedes mig at udarbejde en funktion der vil rette ord der begynder med smaa til store og vil rette ord der begynder med Aa, Ae, eller Oe til de tilsvarende danske bogstaver.  Da jeg ikke paa min komputer kan skrive dem har jeg, midlertidigt, brugt X, Y, og Z.  Det skal rettes af en der har et dansk keyboard.  Men her er funktionen (enten du nu kan bruge den eller ej.)

<?
  function correct($input)
  {
    $arr = array("Aa" => "X", "Ae" => "Y", "Oe" => "Z");
    $input = ucwords($input);
    $input = strtr($input, $arr);
    return $input;
  }
?>

Hvis du fra databasen downloader et holdnavn eller stednavn for eksempel "lille udby" saa giver funktionen "Lille Udby".  Hvis du downloader et navn saa som "aebeltoft" saa bliver det foerst til "Aebeltoft" og den til "Xbeltoft" (hvor funktionen skal rettes paa en dansk komputer.)  Det skulle vaere fremtidssikret ved ogsaa at virke for navne der endnu ikke staar i din database.

Jeg har testet det i det foelgende miniprogram.  I dit system skal det naturligvis vaere det du downloader, for eksempel $hold1 hvor du skal sige $hold1 = correct($hold1);

<?
  function correct($input)
  {
    $arr = array("Aa" => "X", "Ae" => "Y", "Oe" => "Z");
    $input = ucwords($input);
    $input = strtr($input, $arr);
    return $input;
  }
?>

<?
  if($_POST["submitted"])
  {
    $hold1=$_POST["hold"];
    $hold1=correct($hold1);
    echo $hold1;
  }
?>


<html>
<head>
  <title></title>
</head>

<body>
<form action="<? print $_SERVER["PHP_SELF"];?>" method="POST">
<input type="text" name="hold" /><br/>
<input type="submit" name="submitted" value="send" /><br/>
</form>
</body>
</html>
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