ORDER probleem
Ik heb een kolom waar ik integers in op sla die kunnen varieren van 0 t/m 9999999. Nu wil ik alle records ophalen die hoger zijn dan 0. En hij moet bij de hoogste record beginnen. Op dit moment gebruik ik deze SQL code:
Code (php)
1
2
3
2
3
<?php
$ophalen = mysql_query("SELECT * FROM users WHERE cc_bereden > 0 AND username != 'Anonymous' ORDER BY cc_bereden") OR DIE(mysql_error());
?>
$ophalen = mysql_query("SELECT * FROM users WHERE cc_bereden > 0 AND username != 'Anonymous' ORDER BY cc_bereden") OR DIE(mysql_error());
?>
Wie kan mij hier bij helpen?
Groetjes Remy
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$ophalen = "
SELECT
al, jou, velden
FROM
users
WHERE
cc_bereden > 0
AND
username <> 'Anonymous'
ORDER BY
cc_bereden DESC
";
$res=mysql_query($ophalen)
or die (mysql_error());
?>
$ophalen = "
SELECT
al, jou, velden
FROM
users
WHERE
cc_bereden > 0
AND
username <> 'Anonymous'
ORDER BY
cc_bereden DESC
";
$res=mysql_query($ophalen)
or die (mysql_error());
?>
Kijk zelf maar..
Ik snap ook niet echt wat er fout gaat. Hier het stukje script:
Groetjes Remy
Hartstikke bedankt voor de hulp! :) Alleen ordert hij hem niet echt goed. Ik snap ook niet echt wat er fout gaat. Hier het stukje script:
Code (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
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
<?php
$ophalen = mysql_query("SELECT * FROM users WHERE cc_bereden > 0 AND username != 'Anonymous' ORDER BY cc_bereden DESC") OR DIE(mysql_error());
$i = 1;
while($lid = mysql_fetch_array($ophalen))
{
if($i == "61")
{
echo "</td><td width=\"50%\">";
}
$afstand = round($lid['cc_bereden'] * 0.8);
?>
<table cellspacing cellpadding="5" width="400" style="border:1px #c4c4c4 solid">
<tr>
<td width="100%">
<font size="2">
<b><?php echo $i; ?></b>.
<b><?php echo $lid['username']; ?></b><br />
<?php echo $lid['cc_bereden']; ?> achtbanen - <?php echo $afstand; ?> kilometer<br /><a href="cc_lijst.php?user=<?php echo $lid['id']; ?>">Bekijk de gehele lijst</a>
<?php $i++; ?>
</font>
</td>
</tr>
</table><br />
<?php
}
?>
$ophalen = mysql_query("SELECT * FROM users WHERE cc_bereden > 0 AND username != 'Anonymous' ORDER BY cc_bereden DESC") OR DIE(mysql_error());
$i = 1;
while($lid = mysql_fetch_array($ophalen))
{
if($i == "61")
{
echo "</td><td width=\"50%\">";
}
$afstand = round($lid['cc_bereden'] * 0.8);
?>
<table cellspacing cellpadding="5" width="400" style="border:1px #c4c4c4 solid">
<tr>
<td width="100%">
<font size="2">
<b><?php echo $i; ?></b>.
<b><?php echo $lid['username']; ?></b><br />
<?php echo $lid['cc_bereden']; ?> achtbanen - <?php echo $afstand; ?> kilometer<br /><a href="cc_lijst.php?user=<?php echo $lid['id']; ?>">Bekijk de gehele lijst</a>
<?php $i++; ?>
</font>
</td>
</tr>
</table><br />
<?php
}
?>
Groetjes Remy
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
33 achtbanen - 26 kilometer
3 achtbanen - 2 kilometer
Weet je zeker dat die getallen integers zijn? Er wordt gesorteerd alsof het TEXT (CHAR of VARCHAR) is. En dan doel ik op de getallen 4, 33 en 3.
Frank:
4 achtbanen - 3 kilometer
33 achtbanen - 26 kilometer
3 achtbanen - 2 kilometer
Weet je zeker dat die getallen integers zijn? Er wordt gesorteerd alsof het TEXT (CHAR of VARCHAR) is. En dan doel ik op de getallen 4, 33 en 3.
33 achtbanen - 26 kilometer
3 achtbanen - 2 kilometer
Weet je zeker dat die getallen integers zijn? Er wordt gesorteerd alsof het TEXT (CHAR of VARCHAR) is. En dan doel ik op de getallen 4, 33 en 3.
Oeps volgens mij heb ik zo de kolom aangemaakt:
Code (php)
1
2
3
2
3
<?php
mysql_query("ALTER TABLE `users` ADD `cc_bereden` VARCHAR( 250 ) AFTER `registreerip`") OR DIE(mysql_error());
?>
mysql_query("ALTER TABLE `users` ADD `cc_bereden` VARCHAR( 250 ) AFTER `registreerip`") OR DIE(mysql_error());
?>
Dat moet natuurlijk dit zijn: INT( 11 )..
Op dit moment kan ik niet in PHPmyadmin, hoe kan ik door een query handmatig uitvoeren VARCHAR( 250 ) verranderen in INT( 11 )?
Groetjes Remy
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
handleiding.
Edit: En gebruik GEEN backtics ` in je queries! Afval hoort thuis in de prullenbak, niet in een query.
Zie de Edit: En gebruik GEEN backtics ` in je queries! Afval hoort thuis in de prullenbak, niet in een query.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
waarom maakt pma eigenlijk querys met backticks? terwijl ze er EINGELIJK, officiéél niet horen? dat volg ik niet helemaal... en sóms werkt het wel met backticks, en niet zonder
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
$page_title = "Modify";
include 'inc_header.php';
mysql_query("ALTER TABLE users MODIFY (cc_bereden INT( 11 ))") OR DIE(mysql_error());
echo "Het type in de kolom cc_bereden in de tabel users is verranderd naar INT( 11 )!";
include 'inc_footer.php';
?>
session_start();
$page_title = "Modify";
include 'inc_header.php';
mysql_query("ALTER TABLE users MODIFY (cc_bereden INT( 11 ))") OR DIE(mysql_error());
echo "Het type in de kolom cc_bereden in de tabel users is verranderd naar INT( 11 )!";
include 'inc_footer.php';
?>
Helaas keurt mijn server dit niet goed..
Code (php)
1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(cc_bereden INT( 11 ))' at line 1
Wie kan mij hier bij helpen?
Groetjes Remy
Quote:
Dat zal zijn omdat je dan verboden namen of gereserveerde woorden als database-, tabel- en/of kolomnaam hebt gebruikt. 1 is fout, `1` werkt in MySQL wel. Maar dat wil je echt niet! Kun je alle fouten gaan afleren wanneer je met een andere database aan de slag gaat.en sóms werkt het wel met backticks, en niet zonder
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();
$page_title = "Modify";
include 'inc_header.php';
mysql_query("ALTER TABLE users CHANGE cc_bereden cc_bereden INT(11)") OR DIE(mysql_error());
echo "Het type in de kolom cc_bereden in de tabel users is verranderd naar INT( 11 )!";
include 'inc_footer.php';
?>
session_start();
$page_title = "Modify";
include 'inc_header.php';
mysql_query("ALTER TABLE users CHANGE cc_bereden cc_bereden INT(11)") OR DIE(mysql_error());
echo "Het type in de kolom cc_bereden in de tabel users is verranderd naar INT( 11 )!";
include 'inc_footer.php';
?>
Bedankt voor jullie hulp!
Groetjes Remy