Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.14
Prihlásený: 02.06.14
Príspevky: 4
Témy: 1
Príspevok NapísalOffline : 01.06.2014 22:31

Zdravim,

som mierne pokrocily v PHP a MySQL a mam taky problem, ze ak dam vypis echo dvoch premennych:

$aka=$row['domaci'];
$aha=$row_akcia['Klub'];

tak mi PHP vypise Košice a Košice. Ale nastava problem ak dam:

if($aha==$aka)

tak mi hodi vlastne ELSE cast. To znamena, ze podla neho sa Košice nerovna Košice.

Oba stlpce aj domaci aj Klub mam typu VARCHAR. Neviete mi s tym prosim poradit ako sa porovnavaju dve premenne typu VARCHAR, pripadne kde moze byt problem ? Velka vdaka.


Offline

Správca fóra
Správca fóra
Porovnanie dvoch premennych typu VARCHAR

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 01.06.2014 22:35

Skús toto:
Kód:
if (strcmp ($aka, $aha) == 0)

btw. prečo je táto téma v databázach?







_________________
always is always wrong
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 01.06.2014 22:37

Skús si tie stringy porovnať sám znak po znaku (cyklom cez všetky znaky) a tiež počet znakov (strlen).
Možno obsahujú nejaký biely znak, ktorý nevidíš.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.14
Prihlásený: 02.06.14
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 01.06.2014 22:40

Ospravedlnujem za za zaradenie temy a dakujem za odpovede.

if (strcmp ($aka, $aha) == 0) //toto vracia ELSE :(

// Spojený príspevok Ned 01.06.14 22:52

BX: Vdaka, tam bude urcite niekde chyba, lebo nesedia mi pocty, ale nechapem ked dam
echo strlen($aka);
tak mi vrati "8", ale ja tam mam nazov Košice, tak by to malo hodiť len 6 nie? Nechapem. Pre istotu som siel aj do databazy a este raz prepisal nazov Košice na Košice a aj tak mi to hadze ze je tam 8 znakov. Nechapem preco nie 6.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 01.06.2014 23:01

Hoď si tam tento kód a ukáž výstup
Kód:
<?php
$v = "Košice"; // nahrad za tie tvoje premenne
$w = "Košice";

for( $i = 0; $i < strlen($v); $i++ )
   echo $v[$i] ."(". ord($v[$i]) .") ";
echo "<hr>";
for( $i = 0; $i < strlen($w); $i++ )
   echo $w[$i] ."(". ord($w[$i]) .") ";
?>


(btw. správny počet by mal byť 7 pre utf-8 kódovanie, alebo 6 pre windows-1250 kódovanie)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Skúsený užívateľ
Skúsený užívateľ
Porovnanie dvoch premennych typu VARCHAR

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 01.06.2014 23:20

Skus miesto echo pouzit print_r($aha); ze ci tam neuvidis rozdiel :)







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.14
Prihlásený: 02.06.14
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 01.06.2014 23:29

void: Dik za radu ale vypis je totozny.
BX: nechapem, ja som sa pomylil vypisalo mi to 7 a 7 a iba pre istotu Spišská Nová Ves má byť 19 ? pre UTF-8 ?
Uz mi tie pocty sa rovnaju 7=7 a 19=19 ale if hadze ze sa to nerovna :(


Offline

Čestný člen
Čestný člen
Porovnanie dvoch premennych typu VARCHAR

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5404
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 02.06.2014 0:24

Na zistenie dĺžky multibyte (utf-8) stringov používaj mb_ funkcie: http://www.php.net/manual/en/function.mb-strlen.php







_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2014 9:17

RolandSura, chcel som vidieť výstup tohoto kódu, čo som poslal (použi tento, trochu som ho ešte upravil)
Kód:
$v = "Košice"; // nahrad tvojou premennou
$w = "Košice"; // nahrad tvojou premennou

echo strlen($v) ." vs. ". strlen($w) ."<br>";
for( $i = 0; $i < strlen($v); $i++ )
   echo $v[$i] ."(". dechex(ord($v[$i])) .") ";
echo "\n<hr>\n";
for( $i = 0; $i < strlen($w); $i++ )
   echo $w[$i] ."(". dechex(ord($w[$i])) .") ";


Neexistuje, aby si nemohol porovnávať utf8 stringy cez ==. Bude to možno treba len znormalizovať, alebo skonvertovať, ale chcem vidieť tento výstup, či tam máš to, čo tam má byť. A potom ti aj vysvetlím to utf-8 ;)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.14
Prihlásený: 02.06.14
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 02.06.2014 10:25

BX ;)

Obrovska vďaka, cez tie cykly som to prehnal obe premenne a zistil som, ze omylom som tam mal medzeru cize realne to vyzeralo takto "Košice" == "Košice " jasne ze sa to nerovna, velka vdaka za ten kod, urcite vyuzijem nabuduce ked budem porovnavat premenne neobsahujuce cislo, velka vdaka este raz.

Takisto dakujem aj ostatnym za ochotu.

VYRIESENE.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 02.06.2014 12:07

Tušil som to :)

A ešte k tomu počtu znakov, v utf-8 je š kódované do dvoj bajtov, tie ostatné znaky normálne do jedného. Pozri si utf8 tabulku http://utf8-chartable.de/ daj si druhú stranu (Latin1 Supplement) a nájdi si tam znak š. Uvidíš, že je kódovaný do bajtov c5 a1 a rovnaké bajty uvidíš aj vo výstupe toho môjho kódu.
Operátor == porovnáva bajt po bajte, takže neexistuje, aby to zle porovnávalo utf8. Problém by mohol nastať, ak by si nejakým spôsobom dostal Košice v utf8 a Košice vo windows-1250 kódovaní. Vtedy by sa nerovnali, pretože windows-1250 kóduje znak š do jediného bajtu. Vtedy by bola potrebná konverzia, ale v praxi by sa toto nemalo stať (iba ak pri práci so súbormi, alebo nejakými hybridnými/zlúčenými systémami)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46
Príspevok NapísalOffline : 02.06.2014 12:37

Pred porovnanim si obidve premenne mohol prehnat cez trim a potom porovnat


Odpovedať na tému [ Príspevkov: 12 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. porovnanie dvoch modelov

v AMD - Advanced Micro Devices

11

777

23.12.2008 15:29

elsofi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie dvoch datumov

v PHP, ASP

15

1130

13.10.2011 10:09

Sunnynko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie dvoch notebookov

v Notebooky a netbooky

4

184

19.01.2024 12:47

pepkopav Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. porovnanie dvoch cisiel navzajom

v PHP, ASP

2

614

31.08.2009 10:42

László145 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie dvoch posledných teplôt

v PHP, ASP

5

491

29.12.2016 23:39

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. porovnanie hodnot v dvoch tabulkach

v PHP, ASP

8

678

25.02.2008 20:21

Broko71 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program na porovnanie dvoch videí.

v Video programy

2

463

14.01.2013 14:41

sekenke Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie dvoch Radeoniek a zavazna otazka nakoniec

v ATI/AMD grafické karty

9

628

03.12.2009 9:53

yarzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zoradenie v mysql typ varchar

v Databázy

2

503

30.09.2016 15:12

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prenasanie premennych

v PHP, ASP

25

816

17.10.2012 22:25

Lier Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Načítavanie premenných

v PHP, ASP

7

595

17.09.2007 15:59

pitrik1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Java - zoznam premennych

v Assembler, C, C++, Pascal, Java

4

634

29.12.2008 17:12

1231dodo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chybne spracovanie premennych

v PHP, ASP

2

322

22.08.2012 9:56

Wor3d Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JS viac premennych

v JavaScript, VBScript, Ajax

1

633

07.08.2008 19:08

neutronmind Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Matlab script inicializácia premenných

v Assembler, C, C++, Pascal, Java

0

384

16.05.2017 12:10

beastiq Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos premennych medzi funkciami

v PHP, ASP

6

529

27.08.2012 4:26

Ďuri Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra