Welkom, Gast. Je bent niet ingelogd.

PHP Uitdaging

Suma
heeft gelijk
Geplaatst op: 29 Apr 2007, 10:43
PimpCoins: 0
💸+
Bewerken Quote

Howj,

Ik ben al een hele tijd bezig met een script die ervoor zorgt dat je bepaalde dingen kunt verplaatsen, dus naar boven of naar beneden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Voorbeeld:

Naam  |  Plaats  |  Actie
-------------------------
Jan   |    1     | Up / Down
Piet  |    2     | Up / Down
Thijs |    3     | Up / Down
Jaap  |    4     | Up / Down 

Als je bij Thijs op Up drukt het als volgt eruit ziet:


Naam  |  Plaats  |  Actie
-------------------------
Jan   |    1     | Up / Down
Thijs |    2     | Up / Down
Piet  |    3     | Up / Down
Jaap  |    4     | Up / Down

Vandaar dat ik het een uitdaging noem Wie lukt het ?

[Laatst bewerkt door Suma op zondag 29 april 2007, om 10:45]
Thomaz
'
Geplaatst op: 29 Apr 2007, 10:53
PimpCoins: 0
💸+
Bewerken Quote

Umm.. mischien dat je het zo kan maken:

id=1
naam="piet"
plaats="3"

if ($sql['plaats'] > 1)
{
update (plaats -1)
}

^^ Hier klopt geen snars van kwa php, maar zo zou je het denk ik wel kunnen maken.

Plaats -1 betekent dus dat als jij plaats 3 hebt, 3-1 = 2 dus dat je dan naar plaats 2 gaat.

Florian
kunjeditzien:')?
Geplaatst op: 29 Apr 2007, 11:03
PimpCoins: 0
💸+
Bewerken Quote

Ok, niet praktisch, maar theoretisch:

Als je bij de ene op up drukt, check je die plaats.
Die plaats doe je +1, dan heb je dus de plaats van de gene boven je.
De persoon met de plaat+1 doe je -1, die gaat dus 1 naar onderen.
Dan doe je bij jou eigen plaats +1, en ben je 1 omhoog gegaan.

Dan echo je nog gewoon iedereen in een for loop van 1 tot 4, en dan sorteer je ze zo op plaats.

toch?

Suma
heeft gelijk
Geplaatst op: 29 Apr 2007, 12:27
PimpCoins: 0
💸+
Bewerken Quote

Florian schreef:

Ok, niet praktisch, maar theoretisch:

Als je bij de ene op up drukt, check je die plaats.
Die plaats doe je +1, dan heb je dus de plaats van de gene boven je.
De persoon met de plaat+1 doe je -1, die gaat dus 1 naar onderen.
Dan doe je bij jou eigen plaats +1, en ben je 1 omhoog gegaan.

Dan echo je nog gewoon iedereen in een for loop van 1 tot 4, en dan sorteer je ze zo op plaats.

toch?


ja daar dacht ik ook aan, maar ik kan dat niet vertalen naar php T_T

Suma
heeft gelijk
Geplaatst op: 30 Apr 2007, 00:03
PimpCoins: 0
💸+
Bewerken Quote

*bump?

Thaan
Aka "Gerwin"
moderator
Geplaatst op: 30 Apr 2007, 02:53
PimpCoins: 0
💸+
Bewerken Quote

Laat maar eens zien wat je nu hebt qua php scripting en database opzet/dump, ik ga het niet van scratch voor je maken, maar als je me een begin geeft wil ik wel wat voor je maken.

Lennard
?
Geplaatst op: 30 Apr 2007, 08:20
PimpCoins: 0
💸+
Bewerken Quote

M, ga ik maar eens proberen.

Lennard
?
Geplaatst op: 30 Apr 2007, 08:51
PimpCoins: 0
💸+
Bewerken Quote

Volgens mij werkt 'ie zo wel aardig.

(alleen niet beveiligd + foutafhandeling enzo, moet je zelf maar doen )

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
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('saven');

if(isset($_GET['a']))
{
    
    if(in_array($_GET['a'], array('omhoog', 'omlaag')) && isset($_GET['id']))
    {
        
        $res = mysql_fetch_assoc(mysql_query("SELECT id, plaats FROM dingen WHERE id = ".$_GET['id']));
        
        if($_GET['a'] == 'omhoog')
        {
        
            mysql_query("UPDATE dingen SET plaats = plaats + 1 WHERE plaats = ".($res['plaats'] - 1)) or die(mysql_error());
            mysql_query("UPDATE dingen SET plaats = plaats - 1 WHERE id = ".$_GET['id']) or die(mysql_error());

        }
        else
        {
            
            mysql_query("UPDATE dingen SET plaats = plaats - 1 WHERE plaats = ".($res['plaats'] + 1)) or die(mysql_error());
            mysql_query("UPDATE dingen SET plaats = plaats + 1 WHERE id = ".$_GET['id']) or die(mysql_error());
        
        }
    
    }

}

$select = mysql_query("SELECT * FROM dingen ORDER BY plaats ASC") or die(mysql_error());

$counter = 1;
$num = mysql_num_rows($select);

echo '<table><tr><td>Naam</td><td>Plaats</td><td>Actie</td></tr>';

while($row = mysql_fetch_assoc($select))
{
    
    if($counter == 1)
    {
        
        $actie = '<a href="'.$_SERVER['PHP_SELF'].'?a=omlaag&amp;id='.$row['id'].'">Down</a>';
    
    }
    elseif($counter == $num)
    {
        
        $actie = '<a href="'.$_SERVER['PHP_SELF'].'?a=omhoog&amp;id='.$row['id'].'">Up</a>';
    
    }
    else
    {
    
        $actie  = '<a href="'.$_SERVER['PHP_SELF'].'?a=omhoog&amp;id='.$row['id'].'">Up</a> / ';
        $actie .= '<a href="'.$_SERVER['PHP_SELF'].'?a=omlaag&amp;id='.$row['id'].'">Down</a>';
    
    }
    
    echo '<tr><td>'.$row['naam'].'</td><td>'.$row['plaats'].'</td><td>'.$actie.'</td></tr>';
    
    $counter++;

}

echo '</table>';
?>

📫

Nieuw privébericht

🔥

Registreren


Login