בעיה strcmp ממסד נתונים לARRAY

asolell

New member
בעיה strcmp ממסד נתונים לARRAY

שלום לכולם. יש לי קוד שלא מצליח לעבוד לי בעברית. יש לי Array שיש בו רשימה של שמות. בהוספת פריט, הarray הזה משמש למילוי של drop down list box או למילוי של Radio buttons. בשני המקרים, לאחר הבחירה ושליחת המידע למסד הנתונים הכול עובד. יתרה מזאת, כאשר אני מנסה לשלוף את הנתונים בחזרה הם עולים כמו שצריך. עד כאן יופי. הבעיה היא, שאני יוצר דף עידכון פריט. בדף הזה, שהוא זהה לדף הההכנסה של הפרטי, אבל הוא מוסיף צעד נוסף: הוא עושה RETRIEVE של הנתונים וממלא את השדות עם הערכים שנשמרו מקודם. כל השדות שבהם רשום רק באנגלית או רק עם מספרים, עובדים בלי בעיה. כל השדות שיש בהם עברית, לא מצליחים למלא את השדות. כאני אומר לא מצליחים למלא את השדות, הכוונה היא: אני מצליח לשאוב את הנתונים, אבל לא מצליח לעשות STRCMP או == כדי שהערך שיעלה, גם יהפוך להיות הSELECTED או הCHECKED (תלוי בשדה). ההשוואה בין ערכים ששמורים בדאטהבייס לבין הערכים שנמצאים ב-ARRAY הם בעברית והם נכשלים בהשוואה. יש איזה משהו שאני מפספס לגבי העברית! אשמח אם תוכלו לעזור לי. -אלון. בתחתית, תמצאו את הקוד שאני משתמש: function GetValuesForDDLBFromArray($FieldfrmCaptionName, $ArrayFieldWithValues, $LookupDisplayField, $PrimaryTableName, $frmFieldName, $Id) { $CurrValInDB = GetSingleValueFromdb($LookupDisplayField, $PrimaryTableName, $Id); // echo "misc.inc.php : line 324: The value of CurrValInDB is: $CurrValInDB"; $dbResult = current($ArrayFieldWithValues); echo "<TR><TD class=fieldname>$FieldfrmCaptionName</TD><TD><select name=\"$frmFieldName\">"; do { if ( $dbResult == $CurrValInDB) { echo "<option value=\"$dbResult\" SELECTED>$dbResult\n"; } else { echo "<option value=\"$dbResult\" >$dbResult\n"; } } while ($dbResult = next ($ArrayFieldWithValues)); echo "</TR></TD>"; echo "</select> </TD></TR>\n"; return; } function GetSingleValueFromdb($FieldQueried, $TableQueried, $Id) { if ($Id == "NEW") { return (""); } else { $Query = "SELECT $FieldQueried FROM $TableQueried WHERE Car_Id=$Id"; $dbResult = mysql_query($Query); while ($Qrow = mysql_fetch_array($dbResult, MYSQL_ASSOC)) { $SingleValueFromQuery = $Qrow[$FieldQueried]; } // If there are any appostrophies in the string stored in the database, they // need to be slashed so that they appear normal. return(stripslashes($SingleValueFromQuery)); } }
 
למעלה