MYSQLi och IF

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
WYA



Medlem i: 4850 dagar
Från: Bohuslän
Status: Offline



#741344
Inlägg Skrivet: 2017-01-13 17:21      Ämne: MYSQLi och IF Citera

Sent skall syndaren vakna, men det är dags att uppdatera några km med kod och fatta MYSQLi.

Det går ju bra, men... Har följande lilla kod;

$typtext = '000000';

if ($row["typ"] == "Aå" ) { $typtext = "#FF0000"; }
if ($row["typ"] == "Bö" ) { $typtext = "#008000"; }

Output blir 000000 oavsett om Aå eller Bö existerar.
Är det något med MYSQLi som gör att denna typ av IF-sats blir ogiltig?
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Koenigsegg



Medlem i: 3136 dagar

Status: Offline



#741346
Inlägg Skrivet: 2017-01-13 17:29      Ämne: Citera

Svårt att säga. Prövat att skriva ut vad $row['typ'] innehåller? Bredvid strängarna som du jämför med? Använd gärna bin2hex() eller nåt så att du inte blir lurad av det som visas. Rent allmänt så skulle jag försöka hålla mig till den grundläggande teckenuppsättningen i koden, dvs undvika svenska tecken.. Teckenuppsättningar är en djungel.
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
WYA



Medlem i: 4850 dagar
Från: Bohuslän
Status: Offline



#741347
Inlägg Skrivet: 2017-01-13 17:40      Ämne: Citera

Den visar Aå som row["typ"] men det är precis som det finns något som inte syns....
Aå är ju hämtat från en tabell.

Noterar att det är många if som den skiter i plötsligt....
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Koenigsegg



Medlem i: 3136 dagar

Status: Offline



#741348
Inlägg Skrivet: 2017-01-13 17:50      Ämne: Citera

WYA skrev:
Den visar Aå som row["typ"] men det är precis som det finns något som inte syns....
Aå är ju hämtat från en tabell.


Vad exakt blev utskriften från bin2hex()? Om du kör nåt i stil med
KOD:
1:
echo bin2hex($row['typ']), ' ', bin2hex('Aå');


WYA skrev:
Noterar att det är många if som den skiter i plötsligt....


Du visar inte koden och jag vet inte vad plötsligt innebär, så det är lite svårt att ha en åsikt just där.
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
WYA



Medlem i: 4850 dagar
Från: Bohuslän
Status: Offline



#741349
Inlägg Skrivet: 2017-01-13 18:03      Ämne: Citera

Utfallet av den bib2hex blir 53e46c6a6573

Koden är en vanlig select med while fast enligt MYSQLi.
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Koenigsegg



Medlem i: 3136 dagar

Status: Offline



#741351
Inlägg Skrivet: 2017-01-13 19:16      Ämne: Citera

WYA skrev:
Utfallet av den bib2hex blir 53e46c6a6573

Koden är en vanlig select med while fast enligt MYSQLi.


Så du har en typ som heter "Säljes"? Ok. Men det var inte det jag bad om. Jag behövde båda utskrifterna för att kunna se om det är olika teckenkodningar i det du får från databasen och din kod.
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
WYA



Medlem i: 4850 dagar
Från: Bohuslän
Status: Offline



#741352
Inlägg Skrivet: 2017-01-13 19:30      Ämne: Citera

Dom två variablerna med Säljes är desamma.

Men, nu börjar jag fundera på om det är något krux i min kod iaf...

PHP:
1:
 
2:
$db = new mysqli('localhost''user''pass''databas');
3:
if($db->connect_errno 0){
4:
    die('Unable to connect to database [' $db->connect_error ']');
5:
 
6:
 // If-satser där val av SQL skall göras. Den skiter i alla och tar sista
7:
 
8:
{
9:
$sql = <<<SQL
10:
    SELECT * FROM TABELL WHERE datum BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() AND blind <> '1' AND at <> 'ET' AND at <> 'V' AND typ <> 'X' AND annonstyp <> 'Y' ORDER BY datum DESC $limit 
11:
SQL;
12:
}
13:
 
14:
if(!$result $db->query($sql)){
15:
    die('There was an error running the query [' $db->error ']');
16:
 
17:
while($row $result->fetch_assoc()){
18:
 
19:
// kod där många IF-satser ignoreras.
20:
 
21:
}
22:
 
23:
 
24:
 
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Koenigsegg



Medlem i: 3136 dagar

Status: Offline



#741353
Inlägg Skrivet: 2017-01-13 19:46      Ämne: Citera

WYA skrev:
Dom två variablerna med Säljes är desamma.


Det är lite knepigt att få ihop det där med, "en massa if-satser hoppas över". Antingen så fungerar det eller så fungerar det inte. Och om(var är koden?) villkoren i if-satserna bara är strängjämförelser så..
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
WYA



Medlem i: 4850 dagar
Från: Bohuslän
Status: Offline



#741354
Inlägget är accepterad som det rätta svaret Skrivet: 2017-01-13 20:04      Ämne: Citera

Hmm, mycket hänger på

mysqli_set_charset($con,"utf8");

Då blir det rätt tolkning och IF-satserna blir rätt.
 

_________________
if (!Cogito ergo sum )
{
errare humanum est;
continue;
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic