| Autor | Zpráva | ||
|---|---|---|---|
| qweqwe Profil * |
#1 · Zasláno: 19. 10. 2010, 22:40:51
Zdravim mam dotaz.
Potrebuju poradit jak radit urcity data. Z DB pomoci while vypisu urcity data napr IP adresu na tu IP adresu se napojim a stahnu nejaky data, ty data budou pokazdy jiny a bude to cislo. Tohle cely se mne vypise v poradi razeny podle ID v db. Ale ja bych chtel aby se to radilo podle toho ziskanyho cisla a nvm jak to udelat. |
||
| Keeehi Profil |
#2 · Zasláno: 19. 10. 2010, 22:45:20
v dotazu použít
SELECT … … … ORDER BY cislo |
||
| qweqwe Profil * |
#3 · Zasláno: 20. 10. 2010, 07:01:09
ale ony prave nejsou v db ty ziskam az vypsanim dat z db
|
||
| Keeehi Profil |
#4 · Zasláno: 20. 10. 2010, 07:22:12 · Upravil/a: Keeehi
qweqwe:
Uložte si IP adresy do pole, pak ten obsah stáhněte, přidejte do pole k IP a a nakonec použijte nějakou z funkcí na seřazení pole (záleží na návrhu). Pokud tedy výsledkem bude asociativní pole ip => cislo, tak bych použil asort <?php
$data = array("12.214.45.157" => 64631654, "95.65.45.198" => 654321, "84.58.12.1" => 676543218, "154.154.2.96" => 468462);
asort($data);
foreach ($data as $key => $val) {
echo "$key = $val\n";
}
?> |
||
| qweqwe Profil * |
dik za odpoved jeste potrebuju trochu pomoct
1. jak naplnim z DB pole nejak jsem na to neprisel (dosahl jsem jen toho ze jsem ziskal posledni hodnotu) 2. kdyz bych tam chtel z te DB zahrnout napr 2 vysledky a dve ziskany hodnoty? (ted tam je brana jedna hodnota z DB a jedna ziskana) Moderátor panther: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
| panther Profil |
#6 · Zasláno: 20. 10. 2010, 17:03:01
qweqwe:
„dosahl jsem jen toho ze jsem ziskal posledni hodnotu“ cyklus while, tedy nějak takto: while ($data = mysql_fetch_assoc($result)) {
var_dump($data); //dumpne každý jednotlivý řádek
}2. dotaz jsem nepochopil. |
||
| qweqwe Profil * |
no nic napisu sem primo ukazku:
while($row = mysql_fetch_assoc($sql)){
//data z db
$a = $row["a"];
$b = $row["b"];
//data ktery ziskam pomoci dat z db
$c = X; //nejaky cislo
$d = X; //nejaky cislo
//pokud ted vypisu ty promenny tak to bude podle poradi v db a ja chcu aby se mne to vypsalo serazeny od nejvetsiho cisla ktery bude v promenne $c.
}Moderátor panther: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).Moderátor panther: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
| panther Profil |
#8 · Zasláno: 20. 10. 2010, 17:32:38
qweqwe:
proměnné mezi sebou neseřadíš, potřebuješ mít ty 4 hodnoty v poli a to pole seřadit. |
||
| qweqwe Profil * |
#9 · Zasláno: 20. 10. 2010, 17:43:50
no to je mi jasny, ale nevim jak je do toho pole dostanu
|
||
| panther Profil |
#10 · Zasláno: 20. 10. 2010, 17:48:00
qweqwe:
$data = array();
while($row = mysql_fetch_assoc($sql)){
//data z db
$data['a'] = $row["a"];
$data['b'] = $row["b"];
//data ktery ziskam pomoci dat z db
$data['c'] = X; //nejaky cislo
$data['d'] = X; //nejaky cislo
rsort ($data);
var_dump($data);
//pokud ted vypisu ty promenny tak to bude podle poradi v db a ja chcu aby se mne to vypsalo serazeny od nejvetsiho cisla ktery bude v promenne $c. |
||
| Keeehi Profil |
#11 · Zasláno: 20. 10. 2010, 17:50:01
qweqwe:
Mám problém s tím tvým kódem. Co je v databázi ve sloupci a a co ve sloupci b? Jestli jsou to obě ip adresy, proč nejsou v jednom sloupci ve dvou záznamech. Potřebuji tedy vlastně vysvětlit, jak ta databáze vypadá. $c = X; //nejaky cislo $d = X; //nejaky cislo $c = ziskej_cislo_z_ip($a); $d = ziskej_cislo_z_ip($b); |
||
| qweqwe Profil * |
#12 · Zasláno: 20. 10. 2010, 17:51:35
respektive $a je ip $b je port, pak se napojim na tuto IP z ni vytahnu data a ty budou v promenny $c a $d obe hodnoty budou cislo
|
||
| Keeehi Profil |
#13 · Zasláno: 20. 10. 2010, 17:56:44 · Upravil/a: Keeehi
qweqwe:
Takže k jedné IP budou 2 čísla? Takže výpis bude vypadat takto: 156.1.5.2 - 65496 156.1.5.2 - 89458 45.487.45.5 - 104658 … |
||
| qweqwe Profil * |
#14 · Zasláno: 20. 10. 2010, 18:00:43
no v podstate jo
|
||
| Keeehi Profil |
#15 · Zasláno: 20. 10. 2010, 18:11:17
<?php
while($row = mysql_fetch_assoc($sql)){
$a = $row["a"];
$b = $row["b"];
$c = ziskej_cislo_z_ip($a:$b);
$d = ziskej_cislo_z_ip($a:$b);
$data[]=array($a,$c);
$data[]=array($a,$d);
}
function cmp($a, $b)
{
if ($a[1] == $b[1]) {
return 0;
}
return ($a[1] < $b[1]) ? -1 : 1;
}
usort($data, "cmp");
foreach ($data as $value) {
echo "IP: $value[0] - $value[1]<br>\n";
}
?> |
||
| qweqwe Profil * |
#16 · Zasláno: 20. 10. 2010, 19:20:15
dik udelal jsem to trochu jinak, ale hodne mne tam pomohla jedna cast :)
|
||
|
Časová prodleva: 16 let
|
|||
0
).