[PHP] Namen worden omgedraaid

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

  • Damocles.NL
  • Registratie: Januari 2002
  • Laatst online: 24-09-2025
Goedenavond,

Ik heb onderstaande php code voor een pagina waarop op alfabetische lijstweergave diverse kunstwerken gerangschikt kunnen worden. Ik heb dit gekopieerd van kunstenaars.php waarop Achternamen eerst worden weergegeven gevolgd door de voornaam. Echter nu worden titels als Chinese Jonk weergegeven als Jonk, chinese

Welk stukje code zorgt er nou voor dat dat niet het geval is? Ik heb zelf al geprobeerd door bepaalde dingen te verwijderen, maar of het werkt niet meer of ik krijg een foutmelding. Wie ziet wel wat er anders moet om de titel correct weer te geven?


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<p class="mainkop">Kunstwerken </p>
<br/>
<?php
// alle letters invoeren
$letters = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");

$letters_test = array();

foreach($letters as $value)
{
        $value = strtoupper($value);
        if(isset($_GET["letter"]) && $_GET["letter"] == $value)
        {
                $lijn = "<b>$value</b>";
        }
        else
        {
                $lijn = "<a href='index.php?page=kunstwerken&letter=$value'>$value</a>";
        }
        array_push($letters_test,$lijn);
}

$letter_rij = implode(" - ",$letters_test);

echo $letter_rij ."<br/><br/>";

// info uit DB halen
if(isset($_GET["letter"]))
{
        $con = new verbinding();
        $con->connectDB();

        $sql = mysql_query("SELECT * FROM producten");

        $count = 0;

        while($data = mysql_fetch_array($sql))
        {
                $foutenaam = 0;
                // variable data[naam] uit elkaar halen als dat kan
                if($test = explode(" ",$data["titel"],2))
                {
                        // als de var niet uit elkaar gehaald kan worden
                        if(!isset($test[1]))
                        {
                                // dan is het een foute naam
                                $foutenaam = 1;
                                // en van test[1] test[0] maken
                                $test[1] = $test[0];
                        }
                        // de eerste letter van test[1]
                        $eerste_letter = strtoupper(substr($test[1],0,1));
                }
                // als het niet kan?
                else
                {
                        $eerste_letter = strtoupper(substr($data["titel"],0,1));
                        $test[1] = $data["titel"];
                }

                if($eerste_letter == $_GET["letter"])
                {
                        if(isset($foutenaam) && $foutenaam == 1)
                        {
                                echo "<a href='index.php?page=product&id=".$data["id"]."'>" .$test[1]."</a><br/>";
                        }
                        else
                        {
                                echo "<a href='index.php?page=product&id=".$data["id"]."'>" .$test[1].", ". $test[0] ."</a><br/>";
                        }

                        $count++;
                }
        }

                if($count == 0)
                {
                        echo "Kunstwerken met de eerste letter \"".$_GET["letter"]."\" komen op dit moment nog niet voor in ons kunstwerken bestand.";
                }
}
?>

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Over welke titel heb je het? Over de linkjes die worden gegenereerd :? ;)

Kijk eens naar regel 69 en ook even Waar hoort mijn topic?, want dan zie je dat je topic eigenlijk bij de buren hoort ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Damocles.NL
  • Registratie: Januari 2002
  • Laatst online: 24-09-2025
De titel waar het over gaat is de naam van het kunstwerk. Onder die noemer valt het in de database waar hij het uit haalt.

Ik ga eens naar regel 69 kijken en sorry voor het verkeerd plaatsen. Dat lijkt een soort gewoonte om het hier neer te zetten, ik zal die gewoonte eens wijzigen.

Bedankt voor je snelle antwoord iig


edit:
Ik heb gewoon 1 en 0 omgedraaid nu. Maar hij staat nog wel onder de letter C maar de volgorde is wel goed zonder komma nu.

[ Voor 18% gewijzigd door Damocles.NL op 05-06-2006 21:39 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:09

Janoz

Moderator Devschuur®

!litemod

Programming is niet bedoeld om support te leveren op scriptjes van anderen. Dit forum is gericht op het zelf programmeren. Als je deze code zelf geschreven had dan had je geen enkele moeite om het omkeren ongedaan te maken. Vraag het aan degene die kunstenaars.php geschreven heeft.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Als je die code zelf geschreven hebt, dan weet je toch ook wel waarom het verkeerdom weergegeven wordt?
edit:
Argh, al voor de tweede keer traag. 8)7

[ Voor 20% gewijzigd door NMe op 05-06-2006 21:41 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.