SQL replace durch php replace ersetzen

Leja

Grünschnabel
Hallo Zusammen,

ich bin mit php nur mäßig bewandert, soviel schon mal vorab. Allerdings bin ich keine von denen, die nicht vorher mal google oder die Suchfunktion bemüht haben :)

Ich habe ein php script, mit einer enthaltenen SQL Abfrage. Nun habe ich entdeckt, dass ich es sehr kompliziert gemacht habe und es hätte statt mit sql mit php lösen können. Mein Script sieht derzeit (teilauszug) wie folgt aus:

Code:
$sSqlQuery6    = mysql_query("SELECT
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(IFNULL(`xy_table`.`cb_nationenidnatnt`,'0'),'US-amerikanisch','1'),'kanadisch','2'),'armenisch','3'),'kasachisch','4'),'kirgisisch','5'),'russisch','6'),'tadschikisch','7'),'turkmenisch','8'),'ukrainisch','9'),'usbekisch','10'),'ägyptisch','11'),'südafrikanisch','12'),'griechisch','13'),'niederländisch','14'),'belgisch','15'),'französisch','16'),'monegassisch','17'),'spanisch','18'),'ungarisch','19'),'italienisch','21'),'rumänisch','22'),'liechtensteinisch','23'),'schweizerisch','24'),'slowakisch','25'),'tschechisch','26'),'östereichisch','27'),'britisch','28'),'dänisch','29'),'schwedisch','30'),'norwegisch','31'),'polnisch','32'),'peruanisch','33'),'mexikanisch','34'),'kubanisch','35'),'argentinisch','36'),'brasilianisch','37'),'chilenisch','38'),'kolumbianisch','39'),'venezuelanisch','40'),'malayisch','41'),'australisch','42'),'indonesich','43'),'philipinisch','44'),'neuseeländisch','45'),'singapurianisch','46'),'thailändisch','47'),'japanisch','48'),'vietnamesisch','49'),'chinesich','50'),'türkisch','51'),'indisch','52'),'pakistanisch','53'),'singhalesisch','54'),'birmanisch','55'),'iranisch','56'),'marokkanisch','57'),'algerisch','58'),'tunesisch','59'),'libysch','60'),'gambisch','61'),'senegalesisch','62'),'mauretanisch','63'),'malisch','64'),'guineisch','65'),'burkinisch','66'),'nigerisch','67'),'togoisch','68'),'beninisch','69'),'mauritanisch','70'),'leberisch','71'),'sierra-leonisch','72'),'ghanesisch','73'),'nigerianisch','74'),'tschadisch','75'),'zentralafrikanisch','76'),'kamerunisch','77'),'äquatorial- guineisch','78'),'gabunisch','79'),'kongolesisch','80'),'kongolesisch','81'),'angolisch','82'),'guinea-bissauisch','83'),'sudanesisch','85'),'ruandisch','86'),'äthiopisch','87'),'somalisch','88'),'dschibutisch','89'),'kenianisch','90'),'tansanianisch','91'),'ugandisch','92'),'burundisch','93'),'mosambikanisch','94'),'sambisch','95'),'madegassisch','96'),'simbabwisch','98'),'namibianisch','99'),'malawisch','100'),'lesothisch','101'),'botswanesisch','102'),'swasiländisch','103'),'eritreisch','105'),'portugisisch','109'),'luxemburgisch','110'),'irisch','111'),'isländisch','112'),'albanisch','113'),'maltesisch','114'),'zyprisch','115'),'finnisch','116'),'bulgarisch','117'),'litauisch','118'),'lettisch','119'),'estländisch','120'),'moldawisch','121'),'andorrisch','122'),'san marinesisch','123'),'kroatisch','124'),'bosnisch','125'),'mazedonisch','126'),'belizianisch','129'),'guatemaltekisch','130'),'salvadorianisch','131'),'honduranisch','132'),'nicaraguanisch','133'),'costaricanisch','134'),'panamanisch','135'),'haiti','136'),'bolivisch','138'),'guyanisch','139'),'ecuadorianisch','140'),'paraguaisch','142'),'surinamisch','144'),'uruguaisch','145'),'osttimoresisch','147'),'bruneiisch','149'),'nauruisch','150'),'papua- neuguineisch','151'),'tongarisch','152'),'salomonisch','153'),'vanuatuisch','154'),'Fidschianisch','155'),'palauisch','156'),'samoanisch','159'),'kiribatisch','160'),'marshallisch','163'),'nordkoreanisch','164'),'kambodschanisch','167'),'laotisch','168'),'bengalisch','169'),'maledivisch','171'),'libanesisch','172'),'jordanisch','173'),'syrisch','174'),'irakisch','175'),'kuwaitisch','176'),'saudi arabisch','177'),'jemenitisch','178'),'omanisch','179'),'arabisch','180'),'israelisch','181'),'bahrainisch','182'),'katarisch','183'),'bhutanisch','184'),'mongolisch','185'),'nepalesisch','186'),'aserbaidschanisch','187'),'bahamaisch','189'),'barbadisch','190'),'dominicanisch','193'),'dominikanisch','194'),'grenadisch','195'),'jamaikanisch','196'),'deutsch','200'),'weissrussisch','201'),'ivorisch','202'),'georgisch','204'),'serbisch','205'),'slowenisch','206'),'afghanisch','207'),'antiguanisch','208'),'kap-verdisch','214'),'südkoreanisch','216'),'mikronesisch','218'),'montenegrinisch','219'),'são-toméisch','220'),'seychellisch','222'),'St. Kitts und Nevis','224'),'lucianisch','225'),'vincentisch','226'),'trinidad und tobago','228'),'tuvaluisch','231'),'komorisch','234') AS `NationenIDNatnt`,

replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(IFNULL(`xy_table`.`cb_nation1`,'0'),'USA','1'),'Kanada','2'),'Armenien','3'),'Kasachstan','4'),'Kirgisistan','5'),'Russland','6'),'Tadschikistan','7'),'Turkmenistan','8'),'Ukraine','9'),'Usbekistan','10'),'Ägypten','11'),'Südafrika','12'),'Griechenland','13'),'Niederlande','14'),'Belgien','15'),'Frankreich','16'),'Monaco','17'),'Spanien','18'),'Ungarn','19'),'Italien','21'),'Rumänien','22'),'Liechtenstein','23'),'Schweiz','24'),'Slowakei','25'),'Tschechien','26'),'Österreich','27'),'Großbritannien','28'),'Dänemark','29'),'Schweden','30'),'Norwegen','31'),'Polen','32'),'Peru','33'),'Mexiko','34'),'Kuba','35'),'Argentinien','36'),'Brasilien','37'),'Chile','38'),'Kolumbien','39'),'Venezuela','40'),'Malaysia','41'),'Australien','42'),'Indonesien','43'),'Philippinen','44'),'Neuseeland','45'),'Singapur','46'),'Thailand','47'),'Japan','48'),'Vietnam','49'),'China','50'),'Türkei','51'),'Indien','52'),'Pakistan','53'),'Sri Lanka','54'),'Myanmar','55'),'Iran','56'),'Marokko','57'),'Algerien','58'),'Tunesien','59'),'Libyen','60'),'Gambia','61'),'Senegal','62'),'Mauretanien','63'),'Mali','64'),'Guinea','65'),'Burkina Faso','66'),'Niger','67'),'Togo','68'),'Benin','69'),'Mauritius','70'),'Liberia','71'),'Sierra Leone','72'),'Ghana','73'),'Nigeria','74'),'Tschad','75'),'Zentralafrikanische Republik','76'),'Kamerun','77'),'Äquatorialguinea','78'),'Gabun','79'),'Kongo (Republik),','80'),'Kongo (demokr. Rep.),','81'),'Angola','82'),'Guinea-Bissau','83'),'Sudan','85'),'Ruanda','86'),'Äthiopien','87'),'Somalia','88'),'Dschibuti','89'),'Kenia','90'),'Tansania','91'),'Uganda','92'),'Burundi','93'),'Mosambik','94'),'Sambia','95'),'Madagaskar','96'),'Simbabwe','98'),'Namibia','99'),'Malawi','100'),'Lesotho','101'),'Botswana','102'),'Swasiland','103'),'Eritrea','105'),'Portugal','109'),'Luxemburg','110'),'Irland','111'),'Island','112'),'Albanien','113'),'Malta','114'),'Zypern','115'),'Finnland','116'),'Bulgarien','117'),'Litauen','118'),'Lettland','119'),'Estland','120'),'Moldawien','121'),'Andorra','122'),'San Marino','123'),'Kroatien','124'),'Bosnien-Herzegowina','125'),'Mazedonien','126'),'Belize','129'),'Guatemala','130'),'El Salvador','131'),'Honduras','132'),'Nicaragua','133'),'Costa Rica','134'),'Panama','135'),'Haiti','136'),'Bolivien','138'),'Guyana','139'),'Ecuador','140'),'Paraguay','142'),'Suriname','144'),'Uruguay','145'),'Osttimor','147'),'Brunei','149'),'Nauru','150'),'Papua-Neuguinea','151'),'Tonga','152'),'Salomonen','153'),'Vanuatu','154'),'Fidschi','155'),'Palau','156'),'Samoa','159'),'Kiribati','160'),'Marshallinseln','163'),'Nordkorea','164'),'Kambodscha','167'),'Laos','168'),'Bangladesch','169'),'Malediven','171'),'Libanon','172'),'Jordanien','173'),'Syrien','174'),'Irak','175'),'Kuwait','176'),'Saudi Arabien','177'),'Jemen','178'),'Oman','179'),'Vereinigte Arabische Emirate','180'),'Israel','181'),'Bahrain','182'),'Katar','183'),'Bhutan','184'),'Mongolei','185'),'Nepal','186'),'Aserbaidschan','187'),'Bahamas','189'),'Barbados','190'),'Dominica','193'),'Dominikanische Republik','194'),'Grenada','195'),'Jamaika','196'),'Deutschland','200'),'Belarus','201'),'Elfenbeinküste','202'),'Georgien','204'),'Serbien','205'),'Slowenien','206'),'Afghanistan','207'),'Antigua und Barbuda','208'),'Kapverde','214'),'Südkorea','216'),'Mikronesien','218'),'Montenegro','219'),'Sao Tome und Principe','220'),'Seychellen','222'),'St. Kitts und Nevis','224'),'St. Lucia','225'),'St. Vincent und die Grenadien','226'),'Trinidad und Tobago','228'),'Tuvalu','231'),'Komoren','234') AS `NationenIDOrt1`

FROM `xy_table`, `veuv4_tablexys`
WHERE `xy_table`.`id` = `veuv4_tablexys`.`id`")or die ("Fehler - Abfrage im query2");

Ich würde gerne die ganzen sql replace durch str_replace austauschen. Das macht es auch einfacher sollte irgendwann mal ein Wert dazu kommen.

Aber irgendwie verstehe ich nicht was ich tun muss. Kann es mir vll. jemand zeigen?

Vielen Dank vorab.
 
Bau dir zum Beispiel eine ID→String-Map mit den Zuordnungen:

PHP:
$idToNationality = array(
  // ...
  231 => 'tuvaluisch',
  234 => 'komorisch'
);

Aus der Tabelle liest du per SQL dann einfach die Zahl aus und kannst es dann in PHP übersetzen:

PHP:
$idToNationality = array(
  // ...
  231 => 'tuvaluisch',
  234 => 'komorisch'
);

$id = 231;

$nationality = (array_key_exists($id, $idToNationality))
  ? $idToNationality[$id]
  : 'unbekannt';

var_dump($nationality);
  // string(10) "tuvaluisch"

Ich würde aber zumindest darüber nachdenken, die lesbaren Bezeichnungen in einer weiteren DB-Tabelle abzulegen und in der Query einfach dranzujoinen. Das erscheint mir spontan sinnvoller.
 

Neue Beiträge

Zurück