Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Jak seřadit čísla v DB ?

PHP PHP Jak seřadit čísla v DB ? American English version English version

Aktivity (1)
Avatar
katrincsak
Člen
Avatar
katrincsak:9.5.2015 13:49

Zdravím,

do mysql ukládám v neuspořádaném pořadí očíslované údaje, které výsledně dají pořadí 1,2,3 atp.. Jenže potřebuji tyhle čísla vypsat do tabulky tak, aby již byly seřazená. Potřebuji to kvůli mapě, kterou tvořím na čtverečkovaném papíru a každé políčko má své číslo , něco jako souřadnici. Za pomocí formuláře vkládám data mapy, který jsem si vytvořil, ale potřebuji, aby se pod formulářem vypisovaly ID souřadnic, samozřejmě přesně tak jak mají.

např.

123
456
789

Je to jakože mapa 3x3 -> Za pomocí cyklů mě možná napadá jak to udělat, ale potřebuji nejdříve seřadit čísla :(

 
Odpovědět 9.5.2015 13:49
Avatar
IT Man
Redaktor
Avatar
Odpovídá na katrincsak
IT Man:9.5.2015 13:52

Tak si vyber ty čísla popořádku, ne? :)

SELECT cisla FROM tabulka ORDER BY cisla ASC
Editováno 9.5.2015 13:53
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 9.5.2015 13:52
Cokoliv a kdokoliv může jednou uspět.
Avatar
katrincsak
Člen
Avatar
Odpovídá na IT Man
katrincsak:9.5.2015 14:00

To mi ale údaje neseřadí ne ? Musím to mít v mysql jako int, nebo jako varchar ?

 
Nahoru Odpovědět 9.5.2015 14:00
Avatar
katrincsak
Člen
Avatar
Odpovídá na IT Man
katrincsak:9.5.2015 14:02

Na víc ASC by se měl přiřadit automaticky pakliže order by vynechám ne ? Což výsledně nesřadí. Jen vzestupně vypíše.

 
Nahoru Odpovědět 9.5.2015 14:02
Avatar
katrincsak
Člen
Avatar
katrincsak:9.5.2015 14:04

Nebo je nějaký mysql příkaz, který by mi to seřadil konstantně?

 
Nahoru Odpovědět 9.5.2015 14:04
Avatar
Odpovídá na katrincsak
Michal Šmahel (ceskyDJ):9.5.2015 14:11

Tak co vlastně potřebuješ?? Ty tam dáváš čísla neuspořádaně (3, 6, 2, 1, 9, 5) a chceš je srovnat (1, 2, 3, 5, 6, 9)?? Pokud to je takhle, stačí dát sloupci v databázi typ int a klíč PRIMARY.

Nahoru Odpovědět 9.5.2015 14:11
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
IT Man
Redaktor
Avatar
Odpovídá na katrincsak
IT Man:9.5.2015 14:17

Jak to tedy máš? text?

Nahoru Odpovědět 9.5.2015 14:17
Cokoliv a kdokoliv může jednou uspět.
Avatar
katrincsak
Člen
Avatar
katrincsak:9.5.2015 14:24

Omlouvám se za dost trapný dotaz...
Chyba byla jen v opomenutém dotazu... Ptal jsem se na id a nikoliv na sloupec "cord" (souřadnice) takže po přepsání sloupečku to již funguje. Myslel jsem, že tam mám cord.. Výsledně to řadilo podle ID a proto ASC neřešilo problém logicky.

Někdy je lepší nemyslet :)

Děkuji.

 
Nahoru Odpovědět 9.5.2015 14:24
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michal Šmahel (ceskyDJ)
Jan Vargovský:9.5.2015 15:14

Na to jsi přišel jak?

 
Nahoru Odpovědět 9.5.2015 15:14
Avatar
Odpovídá na Jan Vargovský
Michal Šmahel (ceskyDJ):9.5.2015 15:36

Hojná představivost.

Nahoru Odpovědět 9.5.2015 15:36
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michal Šmahel (ceskyDJ)
Jan Vargovský:9.5.2015 15:37

Já vím, že jsi poslední dobou dost aktivní a snažíš se všem poradit, ale občas je lepší si informace ověřit než říkat něco, co je úplná hloupost :)

 
Nahoru Odpovědět  +2 9.5.2015 15:37
Avatar
Odpovídá na Jan Vargovský
Michal Šmahel (ceskyDJ):9.5.2015 15:40

Poslední dobou se pohybuji spíš v pozadí. Odpovídám jen občas. Někdy mám hold hlavu plnou jiných věcí a myšlenky se lehce protnou. :D

Nahoru Odpovědět 9.5.2015 15:40
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
katrincsak
Člen
Avatar
katrincsak:9.5.2015 17:56

Tak se podělím o tu práci, kterou jsem dělal když už. Jedná se o tvorbu mapy.

  1. Načte tedy "souřadnice z DB".
  2. Vypíše to do tabulky a každé 9. číslo kromě první řady kde jich je 10 to zalomí. 80 a 81 je na dalším řádku, protože jsou dělitelná až na 9. pozici.
  3. Pakliže se dané číslo v DB nachází s daným znakem, tak to vybarví a zvětší.(zatím čuňácky vložený <font>).

..Znám jednoduše kde se přesně číslo nachází, která je nad tím, pod tím atp. Vím jednoznačně že je tam les, cesta atp. Hlavně celkem rychle vím, co potřebuji editovat. A může to tvořit kdokoliv z týmu a přidávat jen texty atp.

(Tabování zde nešikovně funguje, takže jsem jen na rychlo upravil řádkování)

try{
echo "<table class='border'>";

$this->overeni = Databaze::dotaz("SELECT * FROM mapa_text WHERE cord order by cord DESC");
while ($this->data = $this->overeni->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT))
{
  if($this->data['cord'] % 9 == 0)
  {
    echo "<tr>";
  }

  if($this->data['znak'] == 'c' OR $this->data['znak'] == 'l' OR $this->data['znak'] == 'ls')
  {
    if($this->data['znak'] == 'c')
    {
        echo "<td><font size='5' color='#FF8000'>". $this->data['cord'] ."</font></td>";
    }
    if($this->data['znak'] == 'l')
    {
        echo "<td><font size='5' color='#00AC28'>". $this->data['cord'] ."</font></td>";
    }
    if($this->data['znak'] == 'ls')
    {
        echo "<td><font size='5' color='#004D12'>". $this->data['cord'] ."</font></td>";
    }
  }
  else
      echo "<td>". $this->data['cord'] ."</td>";
}
 echo "</table>";
 } catch (PDOException $e){
   echo "Něco se pokazilo, kontaktuj admina";
}
 
Nahoru Odpovědět 9.5.2015 17:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.